从底部扫描一个MySQL表
-
27-09-2019 - |
题
当我运行mysql的select语句,它需要很长的,因为我之前已经删除了一个非常大的行数。
有一种方法为表,开始从底部扫描,如从顶部而不是?
解决方案
一个查询不扫描以任何特定次序表;它可能这样做,如果它发生在顺序遍历一个特定的索引(例如,范围扫描),这可能是因为你使用的ORDER BY。
数据库只是不工作这样。你不能指望他们在这样的行为。
如果你正在做一个全表扫描,预计需要一段时间,特别是如果您最近删除了很多行。然而,这将需要更长的时间,如果你有大量的行。
确保该查询使用的索引代替。在外貌解释计划,并确保它使用索引。
其他提示
也许你需要为你的表的附加指标。它也不会伤害到问题OPTIMIZE TABLE偶尔ANALYZE TABLE。查询性能不应当由具有删除的行,即使大量行的影响,只要你有合适的索引。
不隶属于 StackOverflow