当我运行 mysql select 语句时,它需要很长时间,因为我之前已经删除了大量的行。
表格有没有办法从底部开始扫描,而不是从顶部开始扫描?
当我运行 mysql select 语句时,它需要很长时间,因为我之前已经删除了大量的行。
表格有没有办法从底部开始扫描,而不是从顶部开始扫描?
也许您的表需要一个额外的索引。偶尔发出 OPTIMIZE TABLE 和 ANALYZE TABLE 也没有什么坏处。只要您有合适的索引,查询性能不应该受到删除行的影响,即使是大量的行。
查询不会以任何特定顺序扫描表;如果它碰巧按顺序遍历特定索引(例如范围扫描),它可能会这样做,这可能是因为您使用了 ORDER BY。
数据库不能那样工作。你不能以这种方式依赖他们的行为。
如果您正在执行全表扫描,预计它需要一段时间,特别是如果您最近删除了很多行。但是,如果您有很多行,则需要更长的时间。
确保查询改用索引。查看解释计划并确保它使用索引。