我的文件中包含大约40个CREATE INDEX
语句。我不久前将这个文件提供给了我的生产数据库,它目前正在运行命令。
不久前,我不小心在我的生产数据库上运行了几个慢查询,现在恐怕我可能已经搞砸了这些工作。通常,当我运行一个令人无法接受的慢查询时,我重新启动MySQL,但我不确定我是否想这样做,因为我不知道在MySQL运行这些CREATE INDEX
语句时是否可以这样做。
对于更多上下文,如果我运行select * from information_schema.statistics where index_name like 'index_%'
,我通常会看到每隔几分钟就出现一个新索引,但它似乎已经停留在14个索引上一段时间了。
我应该重新启动服务器吗?
答案 0 :(得分:1)
没有问题。使用show create table FOO
查看您缺少的索引并应用它们。最后,您可以执行optimize table来重建所有索引。
请注意,如果这40个create index
语句位于同一个表中,那么您应该定义将此(以及任何进一步的)查询重写为单个查询。否则你等待的时间比你多39倍。