--source include/have_innodb.inc
|
|
CREATE TABLE t (id int, a int, b char(3), PRIMARY KEY (id), KEY idx (a,b)) ENGINE=InnoDB;
|
|
INSERT INTO t VALUES
|
(1,8,'UT'),(2,0,'NU'),(3,1,'SD'),(4,0,'QU'),(5,0,'FL'),(6,0,'ZR'),
|
(7,3,'LA'),(8,5,'NU'),(9,0,'NU'),(10,0,'SD'),(11,0,'NU'),(12,1,'SD'),
|
(13,0,'BD'),(14,0,'PA'),(15,0,'VT'),(16,4,'WA'),(17,0,'ME'),(18,6,'OH'),
|
(19,0,'ME'),(20,4,'NU'),(21,0,'SC'),(22,0,'GA'),(23,1,'CO'),(24,0,'IL'),
|
(25,0,'GA'),(26,0,'HI'),(27,0,'BU'),(28,0,'NU'),(29,7,'LA'),(30,0,'NU'),
|
(31,0,'JR'),(32,6,'BR'),(33,0,'NU'),(34,6,'CO'),(35,7,'NU'),(36,2,'LA'),
|
(37,0,'PR'),(38,1,'UT'),(39,2,'BR'),(40,1,'HI'),(41,0,'SD'),(42,0,'RI'),
|
(43,2,'LA'),(44,0,'TN'),(45,4,'HI'),(46,0,'VT'),(47,1,'NU'),(48,0,'SC'),
|
(49,0,'TX'),(50,8,'DC'),(51,4,'NU'),(52,0,'AL'),(53,0,'CO'),(54,9,'PR'),
|
(55,0,'AR'),(56,0,'SD'),(57,0,'RI'),(58,0,'XE'),(59,0,'NU'),(60,4,'EL'),
|
(61,2,'LA'),(62,5,'UT'),(63,3,'NU'),(64,0,'RI'),(65,1,'NU'),(66,0,'BR'),
|
(67,3,'WA'),(68,0,'TN'),(69,3,'HI'),(70,0,'OH'),(71,8,'GA'),(72,6,'AL'),
|
(73,6,'NU'),(74,1,'HI'),(75,5,'JR'),(76,3,'RI'),(77,0,'DC'),(78,0,'SC'),
|
(79,0,'CO'),(80,2,'BO'),(81,8,'XE'),(82,1,'NU'),(83,0,'SD'),(84,0,'PA'),
|
(85,5,'PA'),(86,0,'QU'),(87,0,'PA'),(88,0,'NU'),(89,0,'ND'),(90,0,'UT'),
|
(91,0,'NU'),(92,0,'NU'),(93,6,'ZR'),(94,0,'NU'),(95,2,'EL'),(96,0,'NU'),
|
(97,0,'RI'),(98,5,'DC'),(99,7,'JR'),(100,5,'CO'),(101,0,'UT'),(102,0,'QU'),
|
(103,0,'NU'),(104,0,'GA'),(105,7,'AK'),(106,0,'ZR'),(107,0,'YT'),(108,0,'MD'),
|
(109,0,'NU'),(110,1,'EL'),(111,0,'ME'),(112,0,'VT'),(113,2,'NU'),(114,0,'CO'),
|
(115,5,'TN'),(116,0,'OH'),(117,0,'GA'),(118,9,'GA'),(119,0,'CO'),(120,0,'AL'),
|
(121,0,'NU'),(122,2,'NE'),(123,2,'TX'),(124,3,'CO'),(125,0,'TN'),(126,0,'WA'),
|
(127,0,'NE'),(128,6,'TN'),(129,0,'BR'),(130,0,'ID'),(131,0,'NU'),(132,2,'EL'),
|
(133,0,'PR'),(134,0,'NU'),(135,1,'AZ'),(136,7,'EL'),(137,0,'TN'),(138,0,'PA'),
|
(139,5,'QU'),(140,0,'AR'),(141,0,'DC'),(142,2,'WA'),(143,7,'OH'),(144,2,'CO'),
|
(145,6,'NU'),(146,9,'FL'),(147,0,'HI'),(148,0,'WA'),(149,1,'BR'),(150,3,'QU');
|
|
ANALYZE TABLE t PERSISTENT FOR ALL; # Optional, fails either way
|
|
SELECT id, MIN(id) FROM t
|
WHERE (b > 'TX' OR b BETWEEN 'NE' AND 'SC') AND id IN (1,7,8) AND a = 5
|
GROUP BY id;
|
11.0 368dd22a
|
mariadbd: /data/src/11.0/sql/sql_select.cc:31338: bool get_range_limit_read_cost(const POSITION*, const TABLE*, uint, ha_rows, ha_rows, double*, double*): Assertion `cond_selectivity <= 1.000000001' failed.
|
230512 22:04:12 [ERROR] mysqld got signal 6 ;
|
|
#9 0x00007fbe85453df2 in __GI___assert_fail (assertion=0x5558d62daa60 "cond_selectivity <= 1.000000001", file=0x5558d62c8ae0 "/data/src/11.0/sql/sql_select.cc", line=31338, function=0x5558d62daaa0 "bool get_range_limit_read_cost(const POSITION*, const TABLE*, uint, ha_rows, ha_rows, double*, double*)") at ./assert/assert.c:101
|
#10 0x00005558d43ee056 in get_range_limit_read_cost (pos=0x629000349080, table=0x6190000f7398, keynr=0, rows_limit_arg=150, rows_to_scan=150, read_cost=0x7fbe710a9ba0, read_rows=0x7fbe710a9bc0) at /data/src/11.0/sql/sql_select.cc:31338
|
#11 0x00005558d43eff8c in test_if_cheaper_ordering (tab=0x629000349fb0, order=0x6290000fc8a0, table=0x6190000f7398, usable_keys=..., ref_key=1, select_limit_arg=150, new_key=0x7fbe710a9ea0, new_key_direction=0x7fbe710a9ed0, new_select_limit=0x7fbe710a9f60, new_used_key_parts=0x7fbe710a9eb0, saved_best_key_parts=0x7fbe710a9ec0) at /data/src/11.0/sql/sql_select.cc:31698
|
#12 0x00005558d43c7522 in test_if_skip_sort_order (tab=0x629000349fb0, order=0x6290000fc8a0, select_limit=18446744073709551615, no_changes=false, map=0x6190000f7428) at /data/src/11.0/sql/sql_select.cc:26252
|
#13 0x00005558d431e286 in JOIN::optimize_stage2 (this=0x6290000fd2f0) at /data/src/11.0/sql/sql_select.cc:3287
|
#14 0x00005558d43170f3 in JOIN::optimize_inner (this=0x6290000fd2f0) at /data/src/11.0/sql/sql_select.cc:2603
|
#15 0x00005558d430fe47 in JOIN::optimize (this=0x6290000fd2f0) at /data/src/11.0/sql/sql_select.cc:1905
|
#16 0x00005558d4331ab3 in mysql_select (thd=0x62b00017a218, tables=0x6290000faca8, fields=..., conds=0x6290000fc210, og_num=1, order=0x0, group=0x6290000fc8a0, having=0x0, proc_param=0x0, select_options=2164525824, result=0x6290000fd2c0, unit=0x62b00017e660, select_lex=0x6290000fa380) at /data/src/11.0/sql/sql_select.cc:5144
|
#17 0x00005558d43016e8 in handle_select (thd=0x62b00017a218, lex=0x62b00017e588, result=0x6290000fd2c0, setup_tables_done_option=0) at /data/src/11.0/sql/sql_select.cc:616
|
#18 0x00005558d4226ac4 in execute_sqlcom_select (thd=0x62b00017a218, all_tables=0x6290000faca8) at /data/src/11.0/sql/sql_parse.cc:6279
|
#19 0x00005558d4214eeb in mysql_execute_command (thd=0x62b00017a218, is_called_from_prepared_stmt=false) at /data/src/11.0/sql/sql_parse.cc:3949
|
#20 0x00005558d4231574 in mysql_parse (thd=0x62b00017a218, rawbuf=0x6290000fa238 "SELECT id, MIN(id) FROM t\nWHERE (b > 'TX' OR b BETWEEN 'NE' AND 'SC') AND id IN (1,7,8) AND a = 5\nGROUP BY id", length=109, parser_state=0x7fbe710aba20) at /data/src/11.0/sql/sql_parse.cc:8014
|
#21 0x00005558d4207460 in dispatch_command (command=COM_QUERY, thd=0x62b00017a218, packet=0x629000285219 "SELECT id, MIN(id) FROM t\nWHERE (b > 'TX' OR b BETWEEN 'NE' AND 'SC') AND id IN (1,7,8) AND a = 5\nGROUP BY id", packet_length=109, blocking=true) at /data/src/11.0/sql/sql_parse.cc:1894
|
#22 0x00005558d4204183 in do_command (thd=0x62b00017a218, blocking=true) at /data/src/11.0/sql/sql_parse.cc:1407
|
#23 0x00005558d46cc00c in do_handle_one_connection (connect=0x608000003938, put_in_cache=true) at /data/src/11.0/sql/sql_connect.cc:1416
|
#24 0x00005558d46cb9cd in handle_one_connection (arg=0x6080000038b8) at /data/src/11.0/sql/sql_connect.cc:1318
|
#25 0x00005558d52c0324 in pfs_spawn_thread (arg=0x617000008218) at /data/src/11.0/storage/perfschema/pfs.cc:2201
|
#26 0x00007fbe854a7fd4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
|
#27 0x00007fbe855285bc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
|
(gdb) f 10
|
#10 0x0000556827d5a056 in get_range_limit_read_cost (pos=0x629000349080, table=0x6190000f7398, keynr=0, rows_limit_arg=150,
|
rows_to_scan=150, read_cost=0x7f6fffc6dba0, read_rows=0x7f6fffc6dbc0) at /data/src/11.0/sql/sql_select.cc:31338
|
31338 DBUG_ASSERT(cond_selectivity <= 1.000000001);
|
(gdb) p cond_selectivity
|
$1 = 1.3333333333333333
|
- is caused by
-
MDEV-26974
Improve selectivity and related costs in optimizer
-
-
Closed
{"report":{"fcp":1046.7999999523163,"ttfb":216.79999995231628,"pageVisibility":"visible","entityId":121818,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":64,"apdex":0.5,"journeyId":"f23ddb62-7718-429b-9d6f-4e13ad954d5c","navigationType":0,"readyForUser":1170.9000000953674,"redirectCount":0,"resourceLoadedEnd":1407.1000001430511,"resourceLoadedStart":223.29999995231628,"resourceTiming":[{"duration":310.90000009536743,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2cib/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":223.29999995231628,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":223.29999995231628,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":534.2000000476837,"responseStart":0,"secureConnectionStart":0},{"duration":311.10000014305115,"initiatorType":"link","name":"https://jira.mariadb.org/s/7ebd35e77e471bc30ff0eba799ebc151-CDN/lu2cib/820016/12ta74/494e4c556ecbb29f90a3d3b4f09cb99c/_/download/contextbatch/css/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true&whisper-enabled=true","startTime":223.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":223.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":534.6000001430511,"responseStart":0,"secureConnectionStart":0},{"duration":320,"initiatorType":"script","name":"https://jira.mariadb.org/s/0917945aaa57108d00c5076fea35e069-CDN/lu2cib/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":223.70000004768372,"connectEnd":223.70000004768372,"connectStart":223.70000004768372,"domainLookupEnd":223.70000004768372,"domainLookupStart":223.70000004768372,"fetchStart":223.70000004768372,"redirectEnd":0,"redirectStart":0,"requestStart":223.70000004768372,"responseEnd":543.7000000476837,"responseStart":543.7000000476837,"secureConnectionStart":223.70000004768372},{"duration":362.7999999523163,"initiatorType":"script","name":"https://jira.mariadb.org/s/2d8175ec2fa4c816e8023260bd8c1786-CDN/lu2cib/820016/12ta74/494e4c556ecbb29f90a3d3b4f09cb99c/_/download/contextbatch/js/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en&slack-enabled=true&whisper-enabled=true","startTime":223.90000009536743,"connectEnd":223.90000009536743,"connectStart":223.90000009536743,"domainLookupEnd":223.90000009536743,"domainLookupStart":223.90000009536743,"fetchStart":223.90000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":223.90000009536743,"responseEnd":586.7000000476837,"responseStart":586.7000000476837,"secureConnectionStart":223.90000009536743},{"duration":366.60000014305115,"initiatorType":"script","name":"https://jira.mariadb.org/s/a9324d6758d385eb45c462685ad88f1d-CDN/lu2cib/820016/12ta74/c92c0caa9a024ae85b0ebdbed7fb4bd7/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en","startTime":224,"connectEnd":224,"connectStart":224,"domainLookupEnd":224,"domainLookupStart":224,"fetchStart":224,"redirectEnd":0,"redirectStart":0,"requestStart":224,"responseEnd":590.6000001430511,"responseStart":590.6000001430511,"secureConnectionStart":224},{"duration":366.7999999523163,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":224.20000004768372,"connectEnd":224.20000004768372,"connectStart":224.20000004768372,"domainLookupEnd":224.20000004768372,"domainLookupStart":224.20000004768372,"fetchStart":224.20000004768372,"redirectEnd":0,"redirectStart":0,"requestStart":224.20000004768372,"responseEnd":591,"responseStart":591,"secureConnectionStart":224.20000004768372},{"duration":366.89999985694885,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":224.40000009536743,"connectEnd":224.40000009536743,"connectStart":224.40000009536743,"domainLookupEnd":224.40000009536743,"domainLookupStart":224.40000009536743,"fetchStart":224.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":224.40000009536743,"responseEnd":591.2999999523163,"responseStart":591.2999999523163,"secureConnectionStart":224.40000009536743},{"duration":464,"initiatorType":"link","name":"https://jira.mariadb.org/s/b04b06a02d1959df322d9cded3aeecc1-CDN/lu2cib/820016/12ta74/a2ff6aa845ffc9a1d22fe23d9ee791fc/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":224.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":224.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":688.5,"responseStart":0,"secureConnectionStart":0},{"duration":367.2000000476837,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":224.70000004768372,"connectEnd":224.70000004768372,"connectStart":224.70000004768372,"domainLookupEnd":224.70000004768372,"domainLookupStart":224.70000004768372,"fetchStart":224.70000004768372,"redirectEnd":0,"redirectStart":0,"requestStart":224.70000004768372,"responseEnd":591.9000000953674,"responseStart":591.9000000953674,"secureConnectionStart":224.70000004768372},{"duration":463.7999999523163,"initiatorType":"link","name":"https://jira.mariadb.org/s/3ac36323ba5e4eb0af2aa7ac7211b4bb-CDN/lu2cib/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/css/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.css?jira.create.linked.issue=true","startTime":224.90000009536743,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":224.90000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":688.7000000476837,"responseStart":0,"secureConnectionStart":0},{"duration":367.5,"initiatorType":"script","name":"https://jira.mariadb.org/s/5d5e8fe91fbc506585e83ea3b62ccc4b-CDN/lu2cib/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/js/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.js?jira.create.linked.issue=true&locale=en","startTime":225,"connectEnd":225,"connectStart":225,"domainLookupEnd":225,"domainLookupStart":225,"fetchStart":225,"redirectEnd":0,"redirectStart":0,"requestStart":225,"responseEnd":592.5,"responseStart":592.5,"secureConnectionStart":225},{"duration":636.0999999046326,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":230.40000009536743,"connectEnd":230.40000009536743,"connectStart":230.40000009536743,"domainLookupEnd":230.40000009536743,"domainLookupStart":230.40000009536743,"fetchStart":230.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":230.40000009536743,"responseEnd":866.5,"responseStart":866.5,"secureConnectionStart":230.40000009536743},{"duration":1156.7000000476837,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":230.5,"connectEnd":230.5,"connectStart":230.5,"domainLookupEnd":230.5,"domainLookupStart":230.5,"fetchStart":230.5,"redirectEnd":0,"redirectStart":0,"requestStart":230.5,"responseEnd":1387.2000000476837,"responseStart":1387.2000000476837,"secureConnectionStart":230.5},{"duration":165.30000019073486,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":703.2999999523163,"connectEnd":703.2999999523163,"connectStart":703.2999999523163,"domainLookupEnd":703.2999999523163,"domainLookupStart":703.2999999523163,"fetchStart":703.2999999523163,"redirectEnd":0,"redirectStart":0,"requestStart":703.2999999523163,"responseEnd":868.6000001430511,"responseStart":868.6000001430511,"secureConnectionStart":703.2999999523163},{"duration":410.30000019073486,"initiatorType":"link","name":"https://jira.mariadb.org/s/d5715adaadd168a9002b108b2b039b50-CDN/lu2cib/820016/12ta74/be4b45e9cec53099498fa61c8b7acba4/_/download/contextbatch/css/jira.project.sidebar,-_super,-project.issue.navigator,-jira.general,-jira.browse.project,-jira.view.issue,-jira.global,-atl.general,-com.atlassian.jira.projects.sidebar.init/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true&whisper-enabled=true","startTime":978.2999999523163,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":978.2999999523163,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1388.6000001430511,"responseStart":0,"secureConnectionStart":0},{"duration":423.80000019073486,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/e65b778d185daf5aee24936755b43da6/_/download/contextbatch/js/browser-metrics-plugin.contrib,-_super,-project.issue.navigator,-jira.view.issue,-atl.general/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true&whisper-enabled=true","startTime":979.2999999523163,"connectEnd":979.2999999523163,"connectStart":979.2999999523163,"domainLookupEnd":979.2999999523163,"domainLookupStart":979.2999999523163,"fetchStart":979.2999999523163,"redirectEnd":0,"redirectStart":0,"requestStart":979.2999999523163,"responseEnd":1403.1000001430511,"responseStart":1403.1000001430511,"secureConnectionStart":979.2999999523163},{"duration":427.40000009536743,"initiatorType":"script","name":"https://jira.mariadb.org/s/097ae97cb8fbec7d6ea4bbb1f26955b9-CDN/lu2cib/820016/12ta74/be4b45e9cec53099498fa61c8b7acba4/_/download/contextbatch/js/jira.project.sidebar,-_super,-project.issue.navigator,-jira.general,-jira.browse.project,-jira.view.issue,-jira.global,-atl.general,-com.atlassian.jira.projects.sidebar.init/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en&slack-enabled=true&whisper-enabled=true","startTime":979.7000000476837,"connectEnd":979.7000000476837,"connectStart":979.7000000476837,"domainLookupEnd":979.7000000476837,"domainLookupStart":979.7000000476837,"fetchStart":979.7000000476837,"redirectEnd":0,"redirectStart":0,"requestStart":979.7000000476837,"responseEnd":1407.1000001430511,"responseStart":1407.1000001430511,"secureConnectionStart":979.7000000476837}],"fetchStart":0,"domainLookupStart":0,"domainLookupEnd":0,"connectStart":0,"connectEnd":0,"requestStart":40,"responseStart":217,"responseEnd":224,"domLoading":221,"domInteractive":1451,"domContentLoadedEventStart":1451,"domContentLoadedEventEnd":1496,"domComplete":1932,"loadEventStart":1932,"loadEventEnd":1932,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":1431.5},{"name":"bigPipe.sidebar-id.end","time":1432.2999999523163},{"name":"bigPipe.activity-panel-pipe-id.start","time":1432.4000000953674},{"name":"bigPipe.activity-panel-pipe-id.end","time":1433.5},{"name":"activityTabFullyLoaded","time":1509.5}],"measures":[],"correlationId":"9829cb5d84c081","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":99,"dbReadsTimeInMs":10,"dbConnsTimeInMs":19,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}
This was caused of two minor issues:
least cost, when it should have returned the minum number of rows
for any range.
should not be done (number of records in the result will not
change).