The table with the least rows is selected as first joinnode is not optimal
- Dominant language
- Go
- Stars
- 40.5k
- Forks
- 6.2k
- PR merge metrics
- PR metrics pending
Description
## Enhancement
The table with the least rows is selected as first joinnode is not optimal
### 1.Min step
```
SELECT
`t_comment`.*,
`t_user`.`view_id` AS `user_view_id`,
`t_user`.`image` AS `user_image`,
`t_user`.`authorized` AS `user_authorized`,
IF (`t_subscribe`.`id` IS NULL, false, TRUE) AS `is_subscribe`
FROM
`t_comment`
INNER JOIN `t_user` ON `t_comment`.`user_id` = `t_user`.`id`
AND `t_user`.`del_flg` = 0
LEFT JOIN `t_subscribe` ON `t_subscribe`.`user_id` = `t_comment`.`user_id`
AND `t_subscribe`.`cancel_flg` = 0
AND NOW() BETWEEN `t_subscribe`.`start_date`
AND `t_subscribe`.`end_date`
AND `t_subscribe`.`channel_id` = 1790
WHERE
(`t_comment`.`root_comment_id` IN (410081, 409781, 409558, 409554, 409551, 409541, 409530, 409497, 409486, 409312, 409301, 409297, 409277, 409243, 409226, 409218, 409130, 409120, 409099, 409085))
ORDER BY
`t_comment`.`post_date` ASC;
```
### 2. What did you expect to see? (Required)
```
+----------------------------------------------+---------+-----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+---------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id | estRows | estCost | costFormula | task | access object | operator info |
+----------------------------------------------+---------+-----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+---------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Sort_13 | 35.52 | 311902.30 | ((((cpu(10*3*tidb_cpu_factor(49.9))) + ((cpu(10*3*tidb_cpu_factor(49.9))) + ((((net(104*rowsize(16.25)*tidb_kv_net_factor(3.96))) + (scan(104*logrowsize(32)*tikv_scan_factor(40.7))))/15.00) + (((((net(104*rowsize(48.75)*tidb_kv_net_factor(3.96))) + ((cpu(104*filters(3)*tikv_cpu_factor(49.9))) + (scan(104*logrowsize(192)*tikv_scan_factor(40.7)))))/15.00) + ((double-read-cpu(104*tidb_cpu_factor(49.9))) + (doubleRead(tasks(0.1664)*tidb_request_factor(6e+06)))))/5.00)) + ((((net(35.521114954342686*rowsize(16.25)*tidb_kv_net_factor(3.96))) + (scan(35.521114954342686*logrowsize(26.13526477119236)*tikv_scan_factor(40.7))))/15.00) + (((((net(35.521114954342686*rowsize(478.315)*tidb_kv_net_factor(3.96))) + (scan(35.521114954342686*logrowsize(590.0752647711923)*tikv_scan_factor(40.7))))/15.00) + ((double-read-cpu(35.521114954342686*tidb_cpu_factor(49.9))) + (doubleRead(tasks(0.056833783926948295)*tidb_request_factor(6e+06)))))/5.00)) + ((hashkey(0.3985336788588887*1*tidb_cpu_factor(49.9))) + (hashmem(0.3985336788588887*96*tidb_mem_factor(0.2))) + (hashbuild(0.3985336788588887*tidb_cpu_factor(49.9)))) + (cpu(0.3985336788588887*filters(0)*tidb_cpu_factor(49.9))) + (((cpu(35.521114954342686*filters(0)*tidb_cpu_factor(49.9))) + ((hashkey(35.521114954342686*1*tidb_cpu_factor(49.9))) + (hashprobe(35.521114954342686*tidb_cpu_factor(49.9)))))/5.00)) + (cpu(35.521114954342686*filters(0)*tidb_cpu_factor(49.9))) + (cpu(35.521114954342686*10*tidb_cpu_factor(49.9))) + ((() + ((((((cpu(1*filters(1)*tikv_cpu_factor(49.9))) + (scan(1*logrowsize(1506)*tikv_scan_factor(40.7)))) + (net(0.9904025967086985*rowsize(200)*tidb_kv_net_factor(3.96))))/15.00)*35.52)/6.00) + (cpu(35.18020448876918*filters(0)*tidb_cpu_factor(49.9))) + ((hashkey(35.18020448876918*0*tidb_cpu_factor(49.9))) + (hashmem(35.18020448876918*200*tidb_mem_factor(0.2))) + (hashbuild(35.18020448876918*tidb_cpu_factor(49.9)))))/5.00)) + ((cpu(35.521114954342686*filters(0.23000000000000007)*tidb_cpu_factor(49.9)))/5.00)) + ((cpu(35.521114954342686*filters(1.22)*tidb_cpu_factor(49.9)))/5.00)) + ((exprCPU(35.521114954342686*0*tidb_cpu_factor(49.9))) + (orderCPU(35.521114954342686*log(35.521114954342686)*tidb_cpu_factor(49.9)))) + (sortMem(35.521114954342686*892*tidb_mem_factor(0.2))) | root | | test.t_comment.post_date |
| └─Projection_15 | 35.52 | 296435.87 | (((cpu(10*3*tidb_cpu_factor(49.9))) + ((cpu(10*3*tidb_cpu_factor(49.9))) + ((((net(104*rowsize(16.25)*tidb_kv_net_factor(3.96))) + (scan(104*logrowsize(32)*tikv_scan_factor(40.7))))/15.00) + (((((net(104*rowsize(48.75)*tidb_kv_net_factor(3.96))) + ((cpu(104*filters(3)*tikv_cpu_factor(49.9))) + (scan(104*logrowsize(192)*tikv_scan_factor(40.7)))))/15.00) + ((double-read-cpu(104*tidb_cpu_factor(49.9))) + (doubleRead(tasks(0.1664)*tidb_request_factor(6e+06)))))/5.00)) + ((((net(35.521114954342686*rowsize(16.25)*tidb_kv_net_factor(3.96))) + (scan(35.521114954342686*logrowsize(26.13526477119236)*tikv_scan_factor(40.7))))/15.00) + (((((net(35.521114954342686*rowsize(478.315)*tidb_kv_net_factor(3.96))) + (scan(35.521114954342686*logrowsize(590.0752647711923)*tikv_scan_factor(40.7))))/15.00) + ((double-read-cpu(35.521114954342686*tidb_cpu_factor(49.9))) + (doubleRead(tasks(0.056833783926948295)*tidb_request_factor(6e+06)))))/5.00)) + ((hashkey(0.3985336788588887*1*tidb_cpu_factor(49.9))) + (hashmem(0.3985336788588887*96*tidb_mem_factor(0.2))) + (hashbuild(0.3985336788588887*tidb_cpu_factor(49.9)))) + (cpu(0.3985336788588887*filters(0)*tidb_cpu_factor(49.9))) + (((cpu(35.521114954342686*filters(0)*tidb_cpu_factor(49.9))) + ((hashkey(35.521114954342686*1*tidb_cpu_factor(49.9))) + (hashprobe(35.521114954342686*tidb_cpu_factor(49.9)))))/5.00)) + (cpu(35.521114954342686*filters(0)*tidb_cpu_factor(49.9))) + (cpu(35.521114954342686*10*tidb_cpu_factor(49.9))) + ((() + ((((((cpu(1*filters(1)*tikv_cpu_factor(49.9))) + (scan(1*logrowsize(1506)*tikv_scan_factor(40.7)))) + (net(0.9904025967086985*rowsize(200)*tidb_kv_net_factor(3.96))))/15.00)*35.52)/6.00) + (cpu(35.18020448876918*filters(0)*tidb_cpu_factor(49.9))) + ((hashkey(35.18020448876918*0*tidb_cpu_factor(49.9))) + (hashmem(35.18020448876918*200*tidb_mem_factor(0.2))) + (hashbuild(35.18020448876918*tidb_cpu_factor(49.9)))))/5.00)) + ((cpu(35.521114954342686*filters(0.23000000000000007)*tidb_cpu_factor(49.9)))/5.00)) + ((cpu(35.521114954342686*filters(1.22)*tidb_cpu_factor(49.9)))/5.00) | root | | test.t_comment.id, test.t_comment.speaker_id, test.t_comment.playlist_id, test.t_comment.user_id, test.t_comment.user_name, test.t_comment.platform_type, test.t_comment.comment, test.t_comment.is_personality_liked, test.t_comment.like_count, test.t_comment.reply_count, test.t_comment.post_date, test.t_comment.root_comment_id, test.t_comment.reply_comment_id, test.t_comment.approved, test.t_comment.pinned, test.t_comment.read_flg, test.t_comment.del_flg, test.t_comment.created, test.t_comment.modified, test.t_user.view_id, test.t_user.image, test.t_user.authorized, if(isnull(test.t_subscribe.id), 0, 1)->Column#60 |
| └─Projection_16 | 35.52 | 296003.38 | ((cpu(10*3*tidb_cpu_factor(49.9))) + ((cpu(10*3*tidb_cpu_factor(49.9))) + ((((net(104*rowsize(16.25)*tidb_kv_net_factor(3.96))) + (scan(104*logrowsize(32)*tikv_scan_factor(40.7))))/15.00) + (((((net(104*rowsize(48.75)*tidb_kv_net_factor(3.96))) + ((cpu(104*filters(3)*tikv_cpu_factor(49.9))) + (scan(104*logrowsize(192)*tikv_scan_factor(40.7)))))/15.00) + ((double-read-cpu(104*tidb_cpu_factor(49.9))) + (doubleRead(tasks(0.1664)*tidb_request_factor(6e+06)))))/5.00)) + ((((net(35.521114954342686*rowsize(16.25)*tidb_kv_net_factor(3.96))) + (scan(35.521114954342686*logrowsize(26.13526477119236)*tikv_scan_factor(40.7))))/15.00) + (((((net(35.521114954342686*rowsize(478.315)*tidb_kv_net_factor(3.96))) + (scan(35.521114954342686*logrowsize(590.0752647711923)*tikv_scan_factor(40.7))))/15.00) + ((double-read-cpu(35.521114954342686*tidb_cpu_factor(49.9))) + (doubleRead(tasks(0.056833783926948295)*tidb_request_factor(6e+06)))))/5.00)) + ((hashkey(0.3985336788588887*1*tidb_cpu_factor(49.9))) + (hashmem(0.3985336788588887*96*tidb_mem_factor(0.2))) + (hashbuild(0.3985336788588887*tidb_cpu_factor(49.9)))) + (cpu(0.3985336788588887*filters(0)*tidb_cpu_factor(49.9))) + (((cpu(35.521114954342686*filters(0)*tidb_cpu_factor(49.9))) + ((hashkey(35.521114954342686*1*tidb_cpu_factor(49.9))) + (hashprobe(35.521114954342686*tidb_cpu_factor(49.9)))))/5.00)) + (cpu(35.521114954342686*filters(0)*tidb_cpu_factor(49.9))) + (cpu(35.521114954342686*10*tidb_cpu_factor(49.9))) + ((() + ((((((cpu(1*filters(1)*tikv_cpu_factor(49.9))) + (scan(1*logrowsize(1506)*tikv_scan_factor(40.7)))) + (net(0.9904025967086985*rowsize(200)*tidb_kv_net_factor(3.96))))/15.00)*35.52)/6.00) + (cpu(35.18020448876918*filters(0)*tidb_cpu_factor(49.9))) + ((hashkey(35.18020448876918*0*tidb_cpu_factor(49.9))) + (hashmem(35.18020448876918*200*tidb_mem_factor(0.2))) + (hashbuild(35.18020448876918*tidb_cpu_factor(49.9)))))/5.00)) + ((cpu(35.521114954342686*filters(0.23000000000000007)*tidb_cpu_factor(49.9)))/5.00) | root | | test.t_comment.id, test.t_comment.speaker_id, test.t_comment.playlist_id, test.t_comment.user_id, test.t_comment.user_name, test.t_comment.platform_type, test.t_comment.comment, test.t_comment.is_personality_liked, test.t_comment.like_count, test.t_comment.reply_count, test.t_comment.post_date, test.t_comment.root_comment_id, test.t_comment.reply_comment_id, test.t_comment.approved, test.t_comment.pinned, test.t_comment.read_flg, test.t_comment.del_flg, test.t_comment.created, test.t_comment.modified, test.t_user.view_id, test.t_user.image, test.t_user.authorized, test.t_subscribe.id |
| └─IndexJoin_24 | 35.52 | 295921.84 | (cpu(10*3*tidb_cpu_factor(49.9))) + ((cpu(10*3*tidb_cpu_factor(49.9))) + ((((net(104*rowsize(16.25)*tidb_kv_net_factor(3.96))) + (scan(104*logrowsize(32)*tikv_scan_factor(40.7))))/15.00) + (((((net(104*rowsize(48.75)*tidb_kv_net_factor(3.96))) + ((cpu(104*filters(3)*tikv_cpu_factor(49.9))) + (scan(104*logrowsize(192)*tikv_scan_factor(40.7)))))/15.00) + ((double-read-cpu(104*tidb_cpu_factor(49.9))) + (doubleRead(tasks(0.1664)*tidb_request_factor(6e+06)))))/5.00)) + ((((net(35.521114954342686*rowsize(16.25)*tidb_kv_net_factor(3.96))) + (scan(35.521114954342686*logrowsize(26.13526477119236)*tikv_scan_factor(40.7))))/15.00) + (((((net(35.521114954342686*rowsize(478.315)*tidb_kv_net_factor(3.96))) + (scan(35.521114954342686*logrowsize(590.0752647711923)*tikv_scan_factor(40.7))))/15.00) + ((double-read-cpu(35.521114954342686*tidb_cpu_factor(49.9))) + (doubleRead(tasks(0.056833783926948295)*tidb_request_factor(6e+06)))))/5.00)) + ((hashkey(0.3985336788588887*1*tidb_cpu_factor(49.9))) + (hashmem(0.3985336788588887*96*tidb_mem_factor(0.2))) + (hashbuild(0.3985336788588887*tidb_cpu_factor(49.9)))) + (cpu(0.3985336788588887*filters(0)*tidb_cpu_factor(49.9))) + (((cpu(35.521114954342686*filters(0)*tidb_cpu_factor(49.9))) + ((hashkey(35.521114954342686*1*tidb_cpu_factor(49.9))) + (hashprobe(35.521114954342686*tidb_cpu_factor(49.9)))))/5.00)) + (cpu(35.521114954342686*filters(0)*tidb_cpu_factor(49.9))) + (cpu(35.521114954342686*10*tidb_cpu_factor(49.9))) + ((() + ((((((cpu(1*filters(1)*tikv_cpu_factor(49.9))) + (scan(1*logrowsize(1506)*tikv_scan_factor(40.7)))) + (net(0.9904025967086985*rowsize(200)*tidb_kv_net_factor(3.96))))/15.00)*35.52)/6.00) + (cpu(35.18020448876918*filters(0)*tidb_cpu_factor(49.9))) + ((hashkey(35.18020448876918*0*tidb_cpu_factor(49.9))) + (hashmem(35.18020448876918*200*tidb_mem_factor(0.2))) + (hashbuild(35.18020448876918*tidb_cpu_factor(49.9)))))/5.00) | root | | inner join, inner:TableReader_20, outer key:test.t_comment.user_id, inner key:test.t_user.id, equal cond:eq(test.t_comment.user_id, test.t_user.id) |
| ├─HashJoin_73(Build) | 35.52 | 275967.49 | (cpu(10*3*tidb_cpu_factor(49.9))) + ((((net(104*rowsize(16.25)*tidb_kv_net_factor(3.96))) + (scan(104*logrowsize(32)*tikv_scan_factor(40.7))))/15.00) + (((((net(104*rowsize(48.75)*tidb_kv_net_factor(3.96))) + ((cpu(104*filters(3)*tikv_cpu_factor(49.9))) + (scan(104*logrowsize(192)*tikv_scan_factor(40.7)))))/15.00) + ((double-read-cpu(104*tidb_cpu_factor(49.9))) + (doubleRead(tasks(0.1664)*tidb_request_factor(6e+06)))))/5.00)) + ((((net(35.521114954342686*rowsize(16.25)*tidb_kv_net_factor(3.96))) + (scan(35.521114954342686*logrowsize(26.13526477119236)*tikv_scan_factor(40.7))))/15.00) + (((((net(35.521114954342686*rowsize(478.315)*tidb_kv_net_factor(3.96))) + (scan(35.521114954342686*logrowsize(590.0752647711923)*tikv_scan_factor(40.7))))/15.00) + ((double-read-cpu(35.521114954342686*tidb_cpu_factor(49.9))) + (doubleRead(tasks(0.056833783926948295)*tidb_request_factor(6e+06)))))/5.00)) + ((hashkey(0.3985336788588887*1*tidb_cpu_factor(49.9))) + (hashmem(0.3985336788588887*96*tidb_mem_factor(0.2))) + (hashbuild(0.3985336788588887*tidb_cpu_factor(49.9)))) + (cpu(0.3985336788588887*filters(0)*tidb_cpu_factor(49.9))) + (((cpu(35.521114954342686*filters(0)*tidb_cpu_factor(49.9))) + ((hashkey(35.521114954342686*1*tidb_cpu_factor(49.9))) + (hashprobe(35.521114954342686*tidb_cpu_factor(49.9)))))/5.00) | root | | left outer join, equal:[eq(test.t_comment.user_id, test.t_subscribe.user_id)] |
| │ ├─IndexLookUp_95(Build) | 0.40 | 203478.37 | (((net(104*rowsize(16.25)*tidb_kv_net_factor(3.96))) + (scan(104*logrowsize(32)*tikv_scan_factor(40.7))))/15.00) + (((((net(104*rowsize(48.75)*tidb_kv_net_factor(3.96))) + ((cpu(104*filters(3)*tikv_cpu_factor(49.9))) + (scan(104*logrowsize(192)*tikv_scan_factor(40.7)))))/15.00) + ((double-read-cpu(104*tidb_cpu_factor(49.9))) + (doubleRead(tasks(0.1664)*tidb_request_factor(6e+06)))))/5.00) | root | | |
| │ │ ├─IndexRangeScan_92(Build) | 104.00 | 21164.00 | scan(104*logrowsize(32)*tikv_scan_factor(40.7)) | cop[tikv] | table:t_subscribe, index:end_date(end_date) | range:[2023-06-02 15:54:38,+inf], keep order:false |
| │ │ └─Selection_94(Probe) | 0.40 | 47674.43 | (cpu(104*filters(3)*tikv_cpu_factor(49.9))) + (scan(104*logrowsize(192)*tikv_scan_factor(40.7))) | cop[tikv] | | eq(test.t_subscribe.cancel_flg, 0), eq(test.t_subscribe.channel_id, 1790), ge(2023-06-02 15:54:38, test.t_subscribe.start_date) |
| │ │ └─TableRowIDScan_93 | 104.00 | 32105.63 | scan(104*logrowsize(192)*tikv_scan_factor(40.7)) | cop[tikv] | table:t_subscribe | keep order:false |
| │ └─IndexLookUp_80(Probe) | 35.52 | 70235.70 | (((net(35.521114954342686*rowsize(16.25)*tidb_kv_net_factor(3.96))) + (scan(35.521114954342686*logrowsize(26.13526477119236)*tikv_scan_factor(40.7))))/15.00) + (((((net(35.521114954342686*rowsize(478.315)*tidb_kv_net_factor(3.96))) + (scan(35.521114954342686*logrowsize(590.0752647711923)*tikv_scan_factor(40.7))))/15.00) + ((double-read-cpu(35.521114954342686*tidb_cpu_factor(49.9))) + (doubleRead(tasks(0.056833783926948295)*tidb_request_factor(6e+06)))))/5.00) | root | | |
| │ ├─IndexRangeScan_78(Build) | 35.52 | 6806.29 | scan(35.521114954342686*logrowsize(26.13526477119236)*tikv_scan_factor(40.7)) | cop[tikv] | table:t_comment, index:root_comment_id(root_comment_id) | range:[409085,409085], [409099,409099], [409120,409120], [409130,409130], [409218,409218], [409226,409226], [409243,409243], [409277,409277], [409297,409297], [409301,409301], [409312,409312], [409486,409486], [409497,409497], [409530,409530], [409541,409541], [409551,409551], [409554,409554], [409558,409558], [409781,409781], [410081,410081], keep order:false |
| │ └─TableRowIDScan_79(Probe) | 35.52 | 13307.40 | scan(35.521114954342686*logrowsize(590.0752647711923)*tikv_scan_factor(40.7)) | cop[tikv] | table:t_comment | keep order:false |
| └─TableReader_20(Probe) | 35.18 | 84.26 | (((cpu(1*filters(1)*tikv_cpu_factor(49.9))) + (scan(1*logrowsize(1506)*tikv_scan_factor(40.7)))) + (net(0.9904025967086985*rowsize(200)*tidb_kv_net_factor(3.96))))/15.00 | root | | data:Selection_19 |
| └─Selection_19 | 35.18 | 479.55 | (cpu(1*filters(1)*tikv_cpu_factor(49.9))) + (scan(1*logrowsize(1506)*tikv_scan_factor(40.7))) | cop[tikv] | | eq(test.t_user.del_flg, 0) |
| └─TableRangeScan_18 | 35.52 | 429.65 | scan(1*logrowsize(1506)*tikv_scan_factor(40.7)) | cop[tikv] | table:t_user | range: decided by [test.t_comment.user_id], keep order:false |
+----------------------------------------------+---------+-----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+---------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
15 rows in set (0.01 sec)
```
Contributor guide
Assessment
This issue has not been assessed yet.