在mysql中建立索引的最佳方法是什么

时间:2018-08-16 06:47:44

标签: mysql indexing

似乎是一个小问题,但我感到困惑。

我有一张约有25列的桌子。该表在任何时间点将包含> 100k行。 我想在循环中连续运行以下查询。

SELECT recordfile
FROM MYTABLE 
WHERE duration = '0'
AND attempt < max_attempt
AND thread =1
ORDER BY id ASC 

查询似乎花费了太多时间(平均0.0150秒)。如何设置适当的索引或任何其他方法,以使查询达到最佳的快速?

1 个答案:

答案 0 :(得分:1)

表中的attemptmax_attempt都是这两列吗?我以为是。

处理程序是否会更改其中一些列?

添加此内容:

INDEX(thread, duration,  -- in either order
      id)

一次获取100行,而不仅仅是一行。然后,在处理它们时,请仔细检查可能已更改的列。 “抓取”会慢一些(但不会是100倍);测试可能会快很多。确保为那个测试设计一个最佳索引。