1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00
Files
mariadb/sql
Rex Johnston 8d08350dd3 MDEV-36321 keys generated on derived tables produce wrong out_rows estimates
record per key statistics on keys generated for derived tables are missing,
causing a fallback to the usage of MATCHING_ROWS_IN_OTHER_TABLE in
best_access_path().
This can grossly overestimate the number of rows expected during a join
and cause a bad join order.  This patch tries to infer a few simple
things about the derived table, like when the key being created matches
the group by list inside (if any) inside the derived table.

Approved by Sergei Petrunia (sergey@mariadb.com)
Tested by Lena Startseva (lena.startseva@mariadb.com)
2025-10-16 09:31:56 +12:00
..
2025-03-14 12:08:56 +04:00
2025-06-18 07:50:39 +02:00
2024-08-12 09:32:30 +01:00
2024-11-13 16:38:53 +01:00
2024-11-10 19:22:21 +01:00
2025-07-28 21:29:29 +02:00
2024-11-05 14:00:48 -08:00
2025-09-29 18:25:09 +03:00
2025-03-14 12:08:56 +04:00
2025-03-14 12:08:56 +04:00
2024-12-02 11:35:34 +02:00
2024-12-02 17:51:17 +02:00
2024-12-02 17:51:17 +02:00
2025-09-29 18:25:09 +03:00
2024-10-30 15:11:17 +01:00
2025-02-06 16:46:36 +01:00
2024-12-02 11:35:34 +02:00
2024-11-08 07:17:00 +01:00
2025-10-09 17:46:33 +03:00
2025-10-09 09:32:33 +02:00
2024-11-29 13:43:17 +02:00
2024-12-05 10:11:58 +01:00
2025-10-09 09:32:33 +02:00
2025-10-09 09:32:33 +02:00
2025-10-09 09:32:33 +02:00
2024-11-10 19:22:21 +01:00
2025-05-22 09:22:55 +02:00
2025-09-30 12:06:31 +03:00
2024-12-02 17:51:17 +02:00
2025-04-29 11:18:00 +10:00
2025-10-09 17:47:08 +03:00
2025-04-18 17:11:01 +02:00
2025-10-09 09:32:33 +02:00
2025-10-09 09:32:33 +02:00
2025-10-08 09:05:38 +02:00
2025-03-14 12:08:56 +04:00
2025-10-08 09:05:38 +02:00
2024-10-03 15:59:20 +10:00
2025-03-14 12:08:56 +04:00
2024-11-29 12:37:46 +02:00
2025-04-29 11:18:00 +10:00
2025-04-02 14:07:01 +03:00
2025-05-22 09:22:55 +02:00
2025-07-31 20:55:47 +02:00
2025-08-04 12:05:53 +02:00
2025-07-31 20:55:47 +02:00
2025-05-22 09:22:55 +02:00
2024-12-02 17:51:17 +02:00
2025-09-29 18:25:09 +03:00
2024-07-22 15:14:50 +02:00
2025-07-31 20:55:47 +02:00
2025-05-22 09:22:55 +02:00
2025-05-22 09:22:55 +02:00
2025-07-31 20:55:47 +02:00
2025-10-09 09:32:33 +02:00
2025-03-14 12:08:56 +04:00
2024-12-02 17:51:17 +02:00
2025-08-03 15:01:09 +02:00
2025-08-03 15:01:09 +02:00
2025-04-18 17:11:01 +02:00
2024-12-02 17:51:17 +02:00
2025-09-04 18:08:39 +03:00
2025-10-09 09:32:33 +02:00
2025-05-03 12:06:36 +02:00
2025-07-31 20:55:47 +02:00
2024-12-02 17:51:17 +02:00
2024-12-02 17:51:17 +02:00
2025-10-09 17:47:08 +03:00
2025-05-22 09:22:55 +02:00
2025-10-09 09:32:33 +02:00
2025-03-14 12:08:56 +04:00
2025-07-28 21:29:29 +02:00
2025-07-28 21:29:29 +02:00
2025-03-14 12:08:56 +04:00
2025-03-03 11:07:56 +02:00
2025-09-29 18:25:09 +03:00
2025-08-04 12:05:53 +02:00
2024-12-02 17:51:17 +02:00
2025-09-19 12:31:14 +03:00
2025-04-29 11:18:00 +10:00
2025-10-06 10:57:34 +02:00
2025-03-14 12:08:56 +04:00
2025-10-09 17:46:33 +03:00
2025-07-28 21:29:29 +02:00
2025-10-09 17:46:33 +03:00
2025-01-09 09:41:38 +02:00
2024-12-02 17:51:17 +02:00
2025-10-09 16:57:55 +03:00
2025-09-29 18:25:09 +03:00
2025-07-31 20:55:47 +02:00
2025-10-09 17:46:33 +03:00
2025-10-09 09:32:33 +02:00
2025-07-31 20:55:47 +02:00
2025-04-29 11:18:00 +10:00
2025-03-14 12:08:56 +04:00
2024-12-02 17:51:17 +02:00
2025-10-09 17:46:33 +03:00
2025-05-22 09:22:55 +02:00
2025-10-09 09:32:33 +02:00
2025-06-18 07:50:39 +02:00
2025-04-29 11:18:00 +10:00
2025-09-04 18:08:39 +03:00
2025-03-14 12:08:56 +04:00
2024-12-02 17:51:17 +02:00
2024-12-02 11:35:34 +02:00
2025-07-31 20:55:47 +02:00
2025-08-03 15:01:09 +02:00
2025-03-14 12:08:56 +04:00
2025-10-09 17:46:33 +03:00
2025-06-18 07:50:39 +02:00
2024-10-03 13:24:43 +03:00
2024-09-09 13:50:38 +03:00
2025-04-18 17:11:01 +02:00
2025-09-29 18:25:09 +03:00
2024-11-08 07:17:00 +01:00
2025-03-03 11:07:56 +02:00
2025-07-31 20:55:47 +02:00