summaryrefslogtreecommitdiff
path: root/sql/ha_partition.cc
diff options
context:
space:
mode:
authorMattias Jonsson <mattias.jonsson@sun.com>2010-03-04 12:09:09 +0100
committerMattias Jonsson <mattias.jonsson@sun.com>2010-03-04 12:09:09 +0100
commite46d120e8ef7de8660d10a96f8cfee47e8836b53 (patch)
tree192b9147cfa1de054d482806c80fa69dd6b55e62 /sql/ha_partition.cc
parentae3e094191d2d48c5468a6fd8e09a54e687cb3e8 (diff)
downloadmariadb-git-e46d120e8ef7de8660d10a96f8cfee47e8836b53.tar.gz
Bug#48229: group by performance issue of partitioned table
Problem was block_size on partitioned tables was not set, resulting in keys_per_block was not correct which affects the cost calculation for read time of indexes (including cost for group min/max).Which resulted in a bad optimizer decision. Fixed by setting stats.block_size correctly. mysql-test/r/partition_range.result: Bug#48229: group by performance issue of partitioned table Added result mysql-test/t/partition_range.test: Bug#48229: group by performance issue of partitioned table Added test sql/ha_partition.cc: Bug#48229: group by performance issue of partitioned table Added missing assignment of stats.block_size.
Diffstat (limited to 'sql/ha_partition.cc')
-rw-r--r--sql/ha_partition.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc
index b854e270029..36bd90e3237 100644
--- a/sql/ha_partition.cc
+++ b/sql/ha_partition.cc
@@ -5053,6 +5053,7 @@ int ha_partition::info(uint flag)
file= m_file[handler_instance];
file->info(HA_STATUS_CONST);
+ stats.block_size= file->stats.block_size;
stats.create_time= file->stats.create_time;
ref_length= m_ref_length;
}