mirror of
https://github.com/MariaDB/server.git
synced 2025-02-14 09:25:35 +01:00
![]() Estimate_scan_time() calculates the cost of scanning a derivied table. The old code did not take into account that the temporary table heap table may be converted to Aria. Things fixed: - Added checking if the temporary tables data will fit in the heap. If not, then calculate the cost based on the designated internal temporary table engine (Aria). - Removed MY_MAX(records, 1000) and instead trust the optimizer's estimate of records. This reduces the cost of temporary tables a bit for small tables, which caused a few changes in mtr results. - Fixed cost calculation for HEAP. - HEAP costs->row_next_find_cost was not set. This does not affect old costs calculation as this cost slot was not used anywhere. Now HEAP cost->row_next_find_cost is set, which allowed me to remove some duplicated computation in ha_heap::scan_time() |
||
---|---|---|
.. | ||
mysql-test/mtr2 | ||
_check.c | ||
_rectest.c | ||
ChangeLog | ||
CMakeLists.txt | ||
ha_heap.cc | ||
ha_heap.h | ||
heapdef.h | ||
hp_block.c | ||
hp_clear.c | ||
hp_close.c | ||
hp_create.c | ||
hp_delete.c | ||
hp_extra.c | ||
hp_hash.c | ||
hp_info.c | ||
hp_open.c | ||
hp_panic.c | ||
hp_rename.c | ||
hp_rfirst.c | ||
hp_rkey.c | ||
hp_rlast.c | ||
hp_rnext.c | ||
hp_rprev.c | ||
hp_rrnd.c | ||
hp_rsame.c | ||
hp_scan.c | ||
hp_static.c | ||
hp_test1.c | ||
hp_test2.c | ||
hp_update.c | ||
hp_write.c |