我正在尝试在具有3000万条记录的现有表(innodb)上创建一个新分区(LIST)。查询运行了将近2个小时,它仍处于“复制到tmp表”状态。 我使用了percona mysql性能向导来改进,我没有看到任何差异。服务器完全没有流量。 在具有16个核心,30GB内存和SSD 300/3000 IO的Ubuntu服务器上运行。看起来mysql没有使用所有资源。内存使用量为9GB,只有3个内核在极低负载下运行。 有没有办法改善设置以使用更多资源并加快查询速度?
答案 0 :(得分:1)
首先,PARTITION BY LIST
几乎没用。为什么你认为它值得做?
让我们看看SHOW CREATE TABLE
。如果有很多二级索引,那可能是个问题。
innodb_buffer_pool_size
有多大?听起来它没有它应该的那么大。 (推荐大约70%的可用 RAM。)
让我们看看SQL花了这么长时间。可能有一些微妙的东西。