Commit Graph

32 Commits

Author SHA1 Message Date
0ff5b50c15 planner: remove unnecessary first_row() functions (#11723) 2019-08-23 14:02:40 +08:00
69c0c3b1e8 Planner: Avoid injecting redundant projection below LogicalJoin (#11662) 2019-08-19 10:55:46 +08:00
8a161721f1 planner, expression: remove TblID2Handle from Schema (#11152) 2019-08-16 13:02:16 +08:00
fe038642e5 *: refactor cost model formulas and constants (#10581) 2019-08-07 17:44:09 +08:00
b97c0434db executor: show CARTESIAN Join explicitly in the results of Explain (#11415) 2019-07-24 16:57:51 +08:00
3760c63dab planner: propagate more possible props to enlarge search space (#10548) 2019-06-10 17:48:53 +08:00
efe9b6ab2a planner/core: fix privilege check for update (#10281) 2019-04-30 13:06:54 +08:00
7666f688b3 *: add stats version in slow_query and slow log. (#10082) 2019-04-15 18:04:48 +08:00
175bae45e1 planer: tiny refine code to return as early as possible In convertToIndexScan and convertToTableScan. (#10058) 2019-04-12 13:49:13 +08:00
231ce8f75a planner: change the cost formula for join reorder (#9303) 2019-02-19 18:46:06 +08:00
bc0e70dc5c planner/core: implement skyline pruning (#9337) 2019-02-19 11:19:30 +08:00
9bdba3a5d1 plan: handle DNF expressions in Selectivity (#9282) 2019-02-13 10:53:12 +08:00
09a5c8028e plan: derive col is not null from col op col conditions (#8603)
Check whether the `op` condition is null rejected, if yes, derive
`col is not null` for both sides of inner join, and for inner side
of outer join.

Also, remove duplicate conditions before pushing them down. Check
if the condition is mutable before removing duplicates.

For AntiSemiJoin, AntiLeftOuterSemiJoin and LeftOuterSemiJoin, do
not generate new `is not null` conditions.
2019-01-30 10:53:46 +08:00
dca815c1c5 expression: return error when doing ResolveIndices (#8929) 2019-01-15 14:34:06 +08:00
6bd8bddb12 planner/core: simple greedy join reorder based on CBO (#8394) 2018-12-07 16:34:19 +08:00
696ef7bae2 plan: convert in subquery to agg and inner join (#7531) 2018-10-30 19:19:32 +08:00
d65ce8655c stats: fix estimation for out of range point queries (#8015) 2018-10-24 16:20:22 +08:00
b30dbd06ac plan: support limit/group-by/order-by clauses in point get (#7720) 2018-09-17 21:18:44 +08:00
44e05789c3 plan: prune columns for LogicalTableDual (#7725) 2018-09-17 16:13:50 +08:00
418cdf2308 plan: use point get plan for UPDATE statement (#7586)
* plan: use point get plan for UPDATE statement
2018-09-04 07:56:42 +08:00
be2c276fe4 executor, plan: remove Exists (#7207) 2018-08-09 22:45:24 +08:00
44e6c3c2e1 plan, stats: fix inconsistent row count estimation (#7233) 2018-08-06 17:39:33 +08:00
a629630745 stats: refine the row count estimation for outdated stats (#7175) 2018-07-29 12:49:26 +08:00
1bf3f3d407 ranger: refine explain format, again (#7041) 2018-07-17 16:47:44 +08:00
372a6fc921 plan: refine explain result format (#7011) 2018-07-09 13:55:36 +08:00
6a931e55dc plan: remove other accessPaths if one is unique key and full matched. (#6925) 2018-06-29 14:32:26 +08:00
c5524cb238 plan, executor: use CorrelatedColumn to calculate range. (#6779) 2018-06-28 16:23:05 +08:00
a7819c3385 plan: draw relation bewteen operators with indent (#6894) 2018-06-28 13:28:43 +08:00
1082b1a0f3 plan: refine the result of EXPLAIN statement (#6755) 2018-06-07 20:13:16 +08:00
b8539dc62a plan, executor: fix the wrong result of merge join (#6753) 2018-06-05 13:23:52 +08:00
a214b754d1 plan, cmd: plan, cmd: improve the code readability of planner (#6654) 2018-05-28 13:29:54 +08:00
0b1b523a81 *:move explain_test to tidb repository (#6555) 2018-05-17 23:55:15 +08:00