Commit Graph

64 Commits

Author SHA1 Message Date
883f72bd36 planner: revise optimize tracer code structure (#31739)
ref pingcap/tidb#29661
2022-01-19 12:47:44 +08:00
9acb2c2ad5 planner: add optimizer trace framework for physicalOptimize (#30335)
close pingcap/tidb#30334
2022-01-05 15:44:36 +08:00
6afd85b2d7 planner: support trace column prune (#31076)
ref pingcap/tidb#29661
2022-01-01 14:39:51 +08:00
30c5f5ba59 planner: trace predicate push down (#30902)
ref pingcap/tidb#29661
2021-12-24 13:15:47 +08:00
beb5451ee3 planner: revise the optimize trace output (#30882) 2021-12-22 15:47:47 +08:00
06c1e8c934 planner: support trace topn push down (#30800)
ref pingcap/tidb#29661
2021-12-21 13:21:46 +08:00
3baa95ff38 planner: implement aggregation eliminate optimize trace (#30114) 2021-11-29 18:21:53 +08:00
a4bd02e35c planner: add optimizer trace framework for logicalOptimize (#29559) 2021-11-12 12:35:06 +08:00
7755d25aba *: Integrate SkyWalking-eyes to check license headers in CI and fix licenses headers (#27198) 2021-08-16 18:52:00 +08:00
0bf495d5e8 planner: unify the terms NDV and cardinality in the optimizer (#26345) 2021-07-20 11:59:35 +08:00
3947c5c6e0 typo: GetlogicalTS4TaskMap -> GetLogicalTS4TaskMap (#25135) 2021-06-07 15:22:28 +08:00
52e89cb8bf planner/core: support union all for mpp. (#24287) 2021-06-02 14:15:38 +08:00
963288a68c planner: build plan for CTE (#24792) 2021-05-28 16:47:35 +08:00
7d5fe41470 planner: support explain verbose mode (#23926) 2021-04-15 18:23:53 +08:00
1248b2985f planner: fix comment mistake of basePhysicalPlan. ExplainNormalizedInfo (#23950) 2021-04-14 23:01:51 +08:00
1cebae21a7 planner, sessionctx: turn on the mpp by default (#23401) 2021-03-23 21:01:37 +08:00
04e5137f48 *: use explain format = 'brief' for tests (#22677) 2021-02-22 17:50:06 +08:00
6742ed201d planner/core: fix a bug of adding enforcer. (#22086) 2021-01-05 17:01:39 +08:00
5e67a597cc planner, store/tikv, executor:Support shuffled hash join and refine codes (#20894) 2020-12-28 15:14:15 +08:00
b87849868c executor: add benchmark for partitionRangeSplitter (#21363) 2020-11-29 22:54:04 +08:00
0c0e29d363 executor, planner: add partitionRangeSplitter for shuffle (#21306) 2020-11-29 16:39:16 +08:00
cc0e1d46e6 planner/core, session, sessionctx/variable: add session variable to control the concurrency of shuffle merge join (#21332) 2020-11-27 14:09:04 +08:00
4754cda0b3 executor,planner: fix resource leak of shuffle and optimize merge join by shuffle (#21255) 2020-11-26 10:46:19 +08:00
f9cd7ed69d planner, executor: parallelize stream aggregation with shuffle. (#21095) 2020-11-25 15:37:51 +08:00
ceddc106f0 executor,planner/core,util/plancodec: extend executor.ShuffleExec and planner.core.PhysicalShuffle to support multiple data sources (#20942) 2020-11-24 10:59:03 +08:00
369c12f779 [planner, executor, kv]: refine and extract mpp codes to the right place (#20691) 2020-11-02 14:30:47 +08:00
4501f6d7ab planner, executor: enable inline projection for Limit (#20288) 2020-10-19 10:55:13 +08:00
84e07a2a59 planner: propagate NDV of column groups across plan nodes (#17854) 2020-08-12 16:39:11 +08:00
29178dfa8d planner, executor: support broadcast join for tiflash engine. (#17232)
* support batch cop for tiflash

* support batch cop

* support join push down to tiflash

* refine

* change pb

* push join

* fix

* add hint

* refine hint

* add ranges

* fix

* fix

* fix push down

* fix index

* enable distsql for join

* add a session var to disable/enable broadcast join

* fix bug

* fix bug

* tiny fix

* enable cast decimal pushdown to tiflash

* fix

* fix bc join bug

* make broadcast plan stable

* refine code

* fix bug

* basic support for multi table broadcast join

* fix bug

* basic cbo for broadcast join

* improve

* fix bug

* remote useless code

* add tests

* pass unit tests

* refine code

* support execute summary info for broadcast join

* fix bug in explain for broadcast join

* format code

* remove un-needed code

* fix make dev

* address comments

* Hanfei/join merge (#7)

* enable exec details for batch cop

* format code

* fix test

* change tidb_opt_broadcast_join to global vars

* Ban cartesian join to be pushed down to TiFlash (#8)

* merge master (#10)

* merge master

* fix bug

* fix bug

* fix ut

* check session var conflict

* Add perfer local hint for broadcast join (#12)

* update

* remove useless code

* remove useless code

* update parser

* add test for prefer local join

* use bcj_local

* update go.mod

* refine planner

* refine comments

* fix make dev

* fix make dev

* update parser

* address comments

* fix make dev

* disable broadcast join when new collation is enabled

* Update planner/core/exhaust_physical_plans.go

Co-authored-by: Zhuomin(Charming) Liu <lzmhhh123@gmail.com>

* address comments

* fix

* address comments

* fix tests

* address comments

Co-authored-by: xufei <xufeixw@mail.ustc.edu.cn>
Co-authored-by: xufei <xufei@pingcap.com>
Co-authored-by: 虎 <ichneumon.hu@foxmail.com>
Co-authored-by: Zhuomin(Charming) Liu <lzmhhh123@gmail.com>
2020-07-27 12:41:36 +08:00
dce0e45bdf planner, add hint nth_plan(x) to help user force a plan (#17850) 2020-07-01 15:34:22 +08:00
c98514e751 executor: unify executor concurrency (#16999) 2020-06-22 17:39:32 +08:00
2674a16552 planner: make PhysicalPlan support cloning (#17939) 2020-06-22 11:43:29 +08:00
c9c9f873e9 planner: do correlated column's datum match in physical optimize phase (#17578) 2020-06-09 14:56:38 +08:00
7ebcc20398 executor: support GROUP_CONCAT(ORDER BY) (#16591) 2020-05-06 18:41:22 +08:00
b6fcc15744 planner: enforce the required property when hint cannot satisf… (#15650) 2020-04-22 14:26:20 +08:00
ea04c6a442 planner/cascades: add transformation rule PullSelectionUpApply & TransformApplyToJoin (#14651) 2020-03-11 20:42:32 +08:00
4755a9b9ef util: revert util/mathutil (#14744) 2020-02-13 11:33:04 +08:00
74bc00dfa9 Improve the performance of WindowExec by using multi-thread hash grouping (#14238) 2020-01-16 21:04:16 +08:00
1b34cc234e planner: add HashCode method for LogicalPlan & use PlanHash for GroupExpr's fingerPrint (#14224) 2020-01-10 11:41:12 +08:00
64da4b583f planner/cascades: implement PreparePossibleProperties in cascades planner (#13910) 2019-12-06 15:52:49 +08:00
3de3e8dc85 planner/cascades: integrate BuildKeyInfo into cascades planner (#13799) 2019-12-04 10:45:09 +08:00
c5e1302908 planner: support plan digest (#13124) 2019-12-03 21:08:55 +08:00
0075a46f17 planner/cascades: make DeriveStats usable in cascades planner (#13023) 2019-10-30 19:42:23 +08:00
36f0f37b40 expression, planner: remove some fields from `expression.Colum… (#12573) 2019-10-29 15:48:26 +08:00
d0113f4a59 planner/cascades: implement ImplementationRule for Selection (#12257) 2019-10-21 16:29:19 +08:00
b8cd65714f *: record and print the plan in slow log. (#12179) 2019-10-17 22:13:19 +08:00
ec1d0880b9 planner/cascades: add explain framework for LogicalPlan and Group (#12368) 2019-10-12 13:43:03 +08:00
8261a41223 planner: make every plan explainable (#12183) 2019-09-18 22:49:07 +08:00
836d5f7b58 planner/core: support generate hints from physical plan (#11936) 2019-09-11 17:53:29 +08:00
59ea7460a8 planner: PointGet don't rely on names in expression.Column (#11779) 2019-08-26 15:40:39 +08:00