pingcap / pingcap/tidb

planner: remove redundant computation in some cases

Open
#37,785 0 comments 0 reactions 0 assignees View on GitHub
type/enhancement
Dominant language
Go
Stars
40.5k
Forks
6.2k
PR merge metrics
PR metrics pending

Description

## Enhancement
```sql
mysql> EXPLAIN ANALYZE SELECT SUM(ResolutionWidth), SUM(ResolutionWidth + 1), SUM(ResolutionWidth + 2), SUM(ResolutionWidth + 3), SUM(ResolutionWidth + 4), SUM(ResolutionWidth + 5), SUM(ResolutionWidth + 6), SUM(ResolutionWidth + 7), SUM(ResolutionWidth + 8), SUM(ResolutionWidth + 9), SUM(ResolutionWidth + 10), SUM(ResolutionWidth + 11), SUM(ResolutionWidth + 12), SUM(ResolutionWidth + 13), SUM(ResolutionWidth + 14), SUM(ResolutionWidth + 15), SUM(ResolutionWidth + 16), SUM(ResolutionWidth + 17), SUM(ResolutionWidth + 18), SUM(ResolutionWidth + 19), SUM(ResolutionWidth + 20), SUM(ResolutionWidth + 21), SUM(ResolutionWidth + 22), SUM(ResolutionWidth + 23), SUM(ResolutionWidth + 24), SUM(ResolutionWidth + 25), SUM(ResolutionWidth + 26), SUM(ResolutionWidth + 27), SUM(ResolutionWidth + 28), SUM(ResolutionWidth + 29), SUM(ResolutionWidth + 30), SUM(ResolutionWidth + 31),
SUM(ResolutionWidth + 32), SUM(ResolutionWidth + 33), SUM(ResolutionWidth + 34), SUM(ResolutionWidth + 35), SUM(ResolutionWidth + 36), SUM(ResolutionWidth + 37), SUM(ResolutionWidth + 38), SUM(ResolutionWidth + 39), SUM(ResolutionWidth + 40), SUM(ResolutionWidth + 41), SUM(ResolutionWidth + 42), SUM(ResolutionWidth + 43), SUM(ResolutionWidth + 44), SUM(ResolutionWidth + 45), SUM(ResolutionWidth + 46), SUM(ResolutionWidth + 47), SUM(ResolutionWidth + 48), SUM(ResolutionWidth + 49), SUM(ResolutionWidth + 50), SUM(ResolutionWidth + 51), SUM(ResolutionWidth + 52), SUM(ResolutionWidth + 53), SUM(ResolutionWidth + 54), SUM(ResolutionWidth + 55), SUM(ResolutionWidth + 56), SUM(ResolutionWidth + 57), SUM(ResolutionWidth + 58), SUM(ResolutionWidth + 59), SUM(ResolutionWidth + 60), SUM(ResolutionWidth + 61), SUM(ResolutionWidth + 62), SUM(ResolutionWidth + 63), SUM(ResolutionWidth + 64), SUM(ResolutionWidth + 65), SUM(ResolutionWidth + 66), SUM(ResolutionWidth + 67), SUM(ResolutionWidth + 68), SUM(ResolutionWidth + 69), SUM(ResolutionWidth + 70), SUM(ResolutionWidth + 71), SUM(ResolutionWidth
+ 72), SUM(ResolutionWidth + 73), SUM(ResolutionWidth + 74), SUM(ResolutionWidth + 75), SUM(ResolutionWidth +
76), SUM(ResolutionWidth + 77), SUM(ResolutionWidth + 78), SUM(ResolutionWidth + 79), SUM(ResolutionWidth + 80), SUM(ResolutionWidth + 81), SUM(ResolutionWidth + 82), SUM(ResolutionWidth + 83), SUM(ResolutionWidth + 84), SUM(ResolutionWidth + 85), SUM(ResolutionWidth + 86), SUM(ResolutionWidth + 87), SUM(ResolutionWidth + 88), SUM(ResolutionWidth + 89) FROM hits;
+--------------------------------+-------------+----------+--------------+---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------+------+
| id | estRows | actRows | task | access object | execution info | operator info | memory | disk |
+--------------------------------+-------------+----------+--------------+---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------+------+
| HashAgg_20 | 1.00 | 1 | root | | time:10.7s, loops:2, partial_worker:{wall_time:10.709366792s, concurrency:5, task_num:1, tot_wait:53.546457687s, tot_exec:58.307µs, tot_time:53.546537234s, max:10.709335876s, p95:10.709335876s}, final_worker:{wall_time:10.70942017s, concurrency:5, task_num:1, tot_wait:53.546788161s, tot_exec:76.991µs, tot_time:53.546869486s, max:10.709404236s, p95:10.709404236s} | funcs:sum(Column#287)->Column#107, funcs:sum(Column#288)->Column#108, funcs:sum(Column#289)->Column#109, funcs:sum(Column#290)->Column#110, funcs:sum(Column#291)->Column#111, funcs:sum(Column#292)->Column#112, funcs:sum(Column#293)->Column#113, funcs:sum(Column#294)->Column#114, funcs:sum(Column#295)->Column#115, funcs:sum(Column#296)->Column#116, funcs:sum(Column#297)->Column#117, funcs:sum(Column#298)->Column#118, funcs:sum(Column#299)->Column#119, funcs:sum(Column#300)->Column#120, funcs:sum(Column#301)->Column#121, funcs:sum(Column#302)->Column#122, funcs:sum(Column#303)->Column#123, funcs:sum(Column#304)->Column#124, funcs:sum(Column#305)->Column#125, funcs:sum(Column#306)->Column#126, funcs:sum(Column#307)->Column#127, funcs:sum(Column#308)->Column#128, funcs:sum(Column#309)->Column#129, funcs:sum(Column#310)->Column#130, funcs:sum(Column#311)->Column#131, funcs:sum(Column#312)->Column#132, funcs:sum(Column#313)->Column#133, funcs:sum(Column#314)->Column#134, funcs:sum(Column#315)->Column#135, funcs:sum(Column#316)->Column#136, funcs:sum(Column#317)->Column#137, funcs:sum(Column#318)->Column#138, funcs:sum(Column#319)->Column#139, funcs:sum(Column#320)->Column#140, funcs:sum(Column#321)->Column#141, funcs:sum(Column#322)->Column#142, funcs:sum(Column#323)->Column#143, funcs:sum(Column#324)->Column#144, funcs:sum(Column#325)->Column#145, funcs:sum(Column#326)->Column#146, funcs:sum(Column#327)->Column#147, funcs:sum(Column#328)->Column#148, funcs:sum(Column#329)->Column#149, funcs:sum(Column#330)->Column#150, funcs:sum(Column#331)->Column#151, funcs:sum(Column#332)->Column#152, funcs:sum(Column#333)->Column#153, funcs:sum(Column#334)->Column#154, funcs:sum(Column#335)->Column#155, funcs:sum(Column#336)->Column#156, funcs:sum(Column#337)->Column#157, funcs:sum(Column#338)->Column#158, funcs:sum(Column#339)->Column#159, funcs:sum(Column#340)->Column#160, funcs:sum(Column#341)->Column#161, funcs:sum(Column#342)->Column#162, funcs:sum(Column#343)->Column#163, funcs:sum(Column#344)->Column#164, funcs:sum(Column#345)->Column#165, funcs:sum(Column#346)->Column#166, funcs:sum(Column#347)->Column#167, funcs:sum(Column#348)->Column#168, funcs:sum(Column#349)->Column#169, funcs:sum(Column#350)->Column#170, funcs:sum(Column#351)->Column#171, funcs:sum(Column#352)->Column#172, funcs:sum(Column#353)->Column#173, funcs:sum(Column#354)->Column#174, funcs:sum(Column#355)->Column#175, funcs:sum(Column#356)->Column#176, funcs:sum(Column#357)->Column#177, funcs:sum(Column#358)->Column#178, funcs:sum(Column#359)->Column#179, funcs:sum(Column#360)->Column#180, funcs:sum(Column#361)->Column#181, funcs:sum(Column#362)->Column#182, funcs:sum(Column#363)->Column#183, funcs:sum(Column#364)->Column#184, funcs:sum(Column#365)->Column#185, funcs:sum(Column#366)->Column#186, funcs:sum(Column#367)->Column#187, funcs:sum(Column#368)->Column#188, funcs:sum(Column#369)->Column#189, funcs:sum(Column#370)->Column#190, funcs:sum(Column#371)->Column#191, funcs:sum(Column#372)->Column#192, funcs:sum(Column#373)->Column#193, funcs:sum(Column#374)->Column#194, funcs:sum(Column#375)->Column#195, funcs:sum(Column#376)->Column#196 | 1.24 MB | N/A |
| └─TableReader_22 | 1.00 | 1 | root | | time:10.7s, loops:2, cop_task: {num: 1, max: 0s, proc_keys: 0, copr_cache_hit_ratio: 0.00} | data:ExchangeSender_21 | N/A | N/A |
| └─ExchangeSender_21 | 1.00 | 1 | mpp[tiflash] | | tiflash_task:{time:10.7s, loops:1, threads:20} | ExchangeType: PassThrough | N/A | N/A |
| └─HashAgg_8 | 1.00 | 1 | mpp[tiflash] | | tiflash_task:{time:10.7s, loops:1, threads:20} | funcs:sum(Column#467)->Column#287, funcs:sum(Column#468)->Column#288, funcs:sum(Column#469)->Column#289, funcs:sum(Column#470)->Column#290, funcs:sum(Column#471)->Column#291, funcs:sum(Column#472)->Column#292, funcs:sum(Column#473)->Column#293, funcs:sum(Column#474)->Column#294, funcs:sum(Column#475)->Column#295, funcs:sum(Column#476)->Column#296, funcs:sum(Column#477)->Column#297, funcs:sum(Column#478)->Column#298, funcs:sum(Column#479)->Column#299, funcs:sum(Column#480)->Column#300, funcs:sum(Column#481)->Column#301, funcs:sum(Column#482)->Column#302, funcs:sum(Column#483)->Column#303, funcs:sum(Column#484)->Column#304, funcs:sum(Column#485)->Column#305, funcs:sum(Column#486)->Column#306, funcs:sum(Column#487)->Column#307, funcs:sum(Column#488)->Column#308, funcs:sum(Column#489)->Column#309, funcs:sum(Column#490)->Column#310, funcs:sum(Column#491)->Column#311, funcs:sum(Column#492)->Column#312, funcs:sum(Column#493)->Column#313, funcs:sum(Column#494)->Column#314, funcs:sum(Column#495)->Column#315, funcs:sum(Column#496)->Column#316, funcs:sum(Column#497)->Column#317, funcs:sum(Column#498)->Column#318, funcs:sum(Column#499)->Column#319, funcs:sum(Column#500)->Column#320, funcs:sum(Column#501)->Column#321, funcs:sum(Column#502)->Column#322, funcs:sum(Column#503)->Column#323, funcs:sum(Column#504)->Column#324, funcs:sum(Column#505)->Column#325, funcs:sum(Column#506)->Column#326, funcs:sum(Column#507)->Column#327, funcs:sum(Column#508)->Column#328, funcs:sum(Column#509)->Column#329, funcs:sum(Column#510)->Column#330, funcs:sum(Column#511)->Column#331, funcs:sum(Column#512)->Column#332, funcs:sum(Column#513)->Column#333, funcs:sum(Column#514)->Column#334, funcs:sum(Column#515)->Column#335, funcs:sum(Column#516)->Column#336, funcs:sum(Column#517)->Column#337, funcs:sum(Column#518)->Column#338, funcs:sum(Column#519)->Column#339, funcs:sum(Column#520)->Column#340, funcs:sum(Column#521)->Column#341, funcs:sum(Column#522)->Column#342, funcs:sum(Column#523)->Column#343, funcs:sum(Column#524)->Column#344, funcs:sum(Column#525)->Column#345, funcs:sum(Column#526)->Column#346, funcs:sum(Column#527)->Column#347, funcs:sum(Column#528)->Column#348, funcs:sum(Column#529)->Column#349, funcs:sum(Column#530)->Column#350, funcs:sum(Column#531)->Column#351, funcs:sum(Column#532)->Column#352, funcs:sum(Column#533)->Column#353, funcs:sum(Column#534)->Column#354, funcs:sum(Column#535)->Column#355, funcs:sum(Column#536)->Column#356, funcs:sum(Column#537)->Column#357, funcs:sum(Column#538)->Column#358, funcs:sum(Column#539)->Column#359, funcs:sum(Column#540)->Column#360, funcs:sum(Column#541)->Column#361, funcs:sum(Column#542)->Column#362, funcs:sum(Column#543)->Column#363, funcs:sum(Column#544)->Column#364, funcs:sum(Column#545)->Column#365, funcs:sum(Column#546)->Column#366, funcs:sum(Column#547)->Column#367, funcs:sum(Column#548)->Column#368, funcs:sum(Column#549)->Column#369, funcs:sum(Column#550)->Column#370, funcs:sum(Column#551)->Column#371, funcs:sum(Column#552)->Column#372, funcs:sum(Column#553)->Column#373, funcs:sum(Column#554)->Column#374, funcs:sum(Column#555)->Column#375, funcs:sum(Column#556)->Column#376 | N/A | N/A |
| └─Projection_31 | 99997497.00 | 99997497 | mpp[tiflash] | | tiflash_task:{time:4.56s, loops:1575, threads:20} | cast(hits.hits.resolutionwidth, decimal(5,0) BINARY)->Column#467, cast(plus(hits.hits.resolutionwidth, 1), decimal(20,0) BINARY)->Column#468, cast(plus(hits.hits.resolutionwidth, 2), decimal(20,0) BINARY)->Column#469, cast(plus(hits.hits.resolutionwidth, 3), decimal(20,0) BINARY)->Column#470, cast(plus(hits.hits.resolutionwidth, 4), decimal(20,0) BINARY)->Column#471, cast(plus(hits.hits.resolutionwidth, 5), decimal(20,0) BINARY)->Column#472, cast(plus(hits.hits.resolutionwidth, 6), decimal(20,0) BINARY)->Column#473, cast(plus(hits.hits.resolutionwidth, 7), decimal(20,0) BINARY)->Column#474, cast(plus(hits.hits.resolutionwidth, 8), decimal(20,0) BINARY)->Column#475, cast(plus(hits.hits.resolutionwidth, 9), decimal(20,0) BINARY)->Column#476, cast(plus(hits.hits.resolutionwidth, 10), decimal(20,0) BINARY)->Column#477, cast(plus(hits.hits.resolutionwidth, 11), decimal(20,0) BINARY)->Column#478, cast(plus(hits.hits.resolutionwidth, 12), decimal(20,0) BINARY)->Column#479, cast(plus(hits.hits.resolutionwidth, 13), decimal(20,0) BINARY)->Column#480, cast(plus(hits.hits.resolutionwidth, 14), decimal(20,0) BINARY)->Column#481, cast(plus(hits.hits.resolutionwidth, 15), decimal(20,0) BINARY)->Column#482, cast(plus(hits.hits.resolutionwidth, 16), decimal(20,0) BINARY)->Column#483, cast(plus(hits.hits.resolutionwidth, 17), decimal(20,0) BINARY)->Column#484, cast(plus(hits.hits.resolutionwidth, 18), decimal(20,0) BINARY)->Column#485, cast(plus(hits.hits.resolutionwidth, 19), decimal(20,0) BINARY)->Column#486, cast(plus(hits.hits.resolutionwidth, 20), decimal(20,0) BINARY)->Column#487, cast(plus(hits.hits.resolutionwidth, 21), decimal(20,0) BINARY)->Column#488, cast(plus(hits.hits.resolutionwidth, 22), decimal(20,0) BINARY)->Column#489, cast(plus(hits.hits.resolutionwidth, 23), decimal(20,0) BINARY)->Column#490, cast(plus(hits.hits.resolutionwidth, 24), decimal(20,0) BINARY)->Column#491, cast(plus(hits.hits.resolutionwidth, 25), decimal(20,0) BINARY)->Column#492, cast(plus(hits.hits.resolutionwidth, 26), decimal(20,0) BINARY)->Column#493, cast(plus(hits.hits.resolutionwidth, 27), decimal(20,0) BINARY)->Column#494, cast(plus(hits.hits.resolutionwidth, 28), decimal(20,0) BINARY)->Column#495, cast(plus(hits.hits.resolutionwidth, 29), decimal(20,0) BINARY)->Column#496, cast(plus(hits.hits.resolutionwidth, 30), decimal(20,0) BINARY)->Column#497, cast(plus(hits.hits.resolutionwidth, 31), decimal(20,0) BINARY)->Column#498, cast(plus(hits.hits.resolutionwidth, 32), decimal(20,0) BINARY)->Column#499, cast(plus(hits.hits.resolutionwidth, 33), decimal(20,0) BINARY)->Column#500, cast(plus(hits.hits.resolutionwidth, 34), decimal(20,0) BINARY)->Column#501, cast(plus(hits.hits.resolutionwidth, 35), decimal(20,0) BINARY)->Column#502, cast(plus(hits.hits.resolutionwidth, 36), decimal(20,0) BINARY)->Column#503, cast(plus(hits.hits.resolutionwidth, 37), decimal(20,0) BINARY)->Column#504, cast(plus(hits.hits.resolutionwidth, 38), decimal(20,0) BINARY)->Column#505, cast(plus(hits.hits.resolutionwidth, 39), decimal(20,0) BINARY)->Column#506, cast(plus(hits.hits.resolutionwidth, 40), decimal(20,0) BINARY)->Column#507, cast(plus(hits.hits.resolutionwidth, 41), decimal(20,0) BINARY)->Column#508, cast(plus(hits.hits.resolutionwidth, 42), decimal(20,0) BINARY)->Column#509, cast(plus(hits.hits.resolutionwidth, 43), decimal(20,0) BINARY)->Column#510, cast(plus(hits.hits.resolutionwidth, 44), decimal(20,0) BINARY)->Column#511, cast(plus(hits.hits.resolutionwidth, 45), decimal(20,0) BINARY)->Column#512, cast(plus(hits.hits.resolutionwidth, 46), decimal(20,0) BINARY)->Column#513, cast(plus(hits.hits.resolutionwidth, 47), decimal(20,0) BINARY)->Column#514, cast(plus(hits.hits.resolutionwidth, 48), decimal(20,0) BINARY)->Column#515, cast(plus(hits.hits.resolutionwidth, 49), decimal(20,0) BINARY)->Column#516, cast(plus(hits.hits.resolutionwidth, 50), decimal(20,0) BINARY)->Column#517, cast(plus(hits.hits.resolutionwidth, 51), decimal(20,0) BINARY)->Column#518, cast(plus(hits.hits.resolutionwidth, 52), decimal(20,0) BINARY)->Column#519, cast(plus(hits.hits.resolutionwidth, 53), decimal(20,0) BINARY)->Column#520, cast(plus(hits.hits.resolutionwidth, 54), decimal(20,0) BINARY)->Column#521, cast(plus(hits.hits.resolutionwidth, 55), decimal(20,0) BINARY)->Column#522, cast(plus(hits.hits.resolutionwidth, 56), decimal(20,0) BINARY)->Column#523, cast(plus(hits.hits.resolutionwidth, 57), decimal(20,0) BINARY)->Column#524, cast(plus(hits.hits.resolutionwidth, 58), decimal(20,0) BINARY)->Column#525, cast(plus(hits.hits.resolutionwidth, 59), decimal(20,0) BINARY)->Column#526, cast(plus(hits.hits.resolutionwidth, 60), decimal(20,0) BINARY)->Column#527, cast(plus(hits.hits.resolutionwidth, 61), decimal(20,0) BINARY)->Column#528, cast(plus(hits.hits.resolutionwidth, 62), decimal(20,0) BINARY)->Column#529, cast(plus(hits.hits.resolutionwidth, 63), decimal(20,0) BINARY)->Column#530, cast(plus(hits.hits.resolutionwidth, 64), decimal(20,0) BINARY)->Column#531, cast(plus(hits.hits.resolutionwidth, 65), decimal(20,0) BINARY)->Column#532, cast(plus(hits.hits.resolutionwidth, 66), decimal(20,0) BINARY)->Column#533, cast(plus(hits.hits.resolutionwidth, 67), decimal(20,0) BINARY)->Column#534, cast(plus(hits.hits.resolutionwidth, 68), decimal(20,0) BINARY)->Column#535, cast(plus(hits.hits.resolutionwidth, 69), decimal(20,0) BINARY)->Column#536, cast(plus(hits.hits.resolutionwidth, 70), decimal(20,0) BINARY)->Column#537, cast(plus(hits.hits.resolutionwidth, 71), decimal(20,0) BINARY)->Column#538, cast(plus(hits.hits.resolutionwidth, 72), decimal(20,0) BINARY)->Column#539, cast(plus(hits.hits.resolutionwidth, 73), decimal(20,0) BINARY)->Column#540, cast(plus(hits.hits.resolutionwidth, 74), decimal(20,0) BINARY)->Column#541, cast(plus(hits.hits.resolutionwidth, 75), decimal(20,0) BINARY)->Column#542, cast(plus(hits.hits.resolutionwidth, 76), decimal(20,0) BINARY)->Column#543, cast(plus(hits.hits.resolutionwidth, 77), decimal(20,0) BINARY)->Column#544, cast(plus(hits.hits.resolutionwidth, 78), decimal(20,0) BINARY)->Column#545, cast(plus(hits.hits.resolutionwidth, 79), decimal(20,0) BINARY)->Column#546, cast(plus(hits.hits.resolutionwidth, 80), decimal(20,0) BINARY)->Column#547, cast(plus(hits.hits.resolutionwidth, 81), decimal(20,0) BINARY)->Column#548, cast(plus(hits.hits.resolutionwidth, 82), decimal(20,0) BINARY)->Column#549, cast(plus(hits.hits.resolutionwidth, 83), decimal(20,0) BINARY)->Column#550, cast(plus(hits.hits.resolutionwidth, 84), decimal(20,0) BINARY)->Column#551, cast(plus(hits.hits.resolutionwidth, 85), decimal(20,0) BINARY)->Column#552, cast(plus(hits.hits.resolutionwidth, 86), decimal(20,0) BINARY)->Column#553, cast(plus(hits.hits.resolutionwidth, 87), decimal(20,0) BINARY)->Column#554, cast(plus(hits.hits.resolutionwidth, 88), decimal(20,0) BINARY)->Column#555, cast(plus(hits.hits.resolutionwidth, 89), decimal(20,0) BINARY)->Column#556 | N/A | N/A |
| └─TableFullScan_19 | 99997497.00 | 99997497 | mpp[tiflash] | table:hits | tiflash_task:{time:128.9ms, loops:1575, threads:20} | keep order:false | N/A | N/A |
+--------------------------------+-------------+----------+--------------+---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------+------+
6 rows in set (10.72 sec)
```

maybe we can revise it to:
```sql
SELECT SUM(ResolutionWidth), SUM(ResolutionWidth) + 1 * COUNT(ResolutionWidth), SUM(ResolutionWidth) + 2 * COUNT(ResolutionWidth), SUM(ResolutionWidth) + 3 * COUNT(ResolutionWidth), ......, SUM(ResolutionWidth) + 89 * COUNT(ResolutionWidth) FROM hits;
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.