似乎是个小问题,但我很困惑。我有一张大约有25列的table。该表在任何时间点都将包含>10万行。我想在循环中连续运行下面的查询。
SELECT recordfile FROM MYTABLE WHERE duration = '0' AND attempt < max_attempt AND thread =1 ORDER BY id ASC
查询似乎花费了太多时间(平均0.0150秒)。如何放置适当的索引或任何其他方法,使查询最快?
rhfm7lfc1#
是 attempt 以及 max_attempt 表中的两列?我想是的。处理是否会更改其中的某些列?添加以下内容:
attempt
max_attempt
INDEX(thread, duration, -- in either order id)
一次抓取100行,而不是一行。然后,在处理它们时,仔细检查可能已更改的列。“抓取”会慢一点(但不是100倍);测试可能要快得多。一定要为那个测试设计一个最佳的指标。
1条答案
按热度按时间rhfm7lfc1#
是
attempt
以及max_attempt
表中的两列?我想是的。处理是否会更改其中的某些列?
添加以下内容:
一次抓取100行,而不是一行。然后,在处理它们时,仔细检查可能已更改的列。“抓取”会慢一点(但不是100倍);测试可能要快得多。一定要为那个测试设计一个最佳的指标。