首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从底部扫描mysql表

从底部扫描mysql表
EN

Stack Overflow用户
提问于 2010-05-18 21:36:24
回答 2查看 234关注 0票数 0

当我运行一条mysql select语句时,会花费很长时间,因为我之前已经删除了大量的行。

有没有办法让表从底部开始扫描,而不是从顶部开始扫描?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-19 05:25:07

查询不会以任何特定顺序扫描表;如果它碰巧按顺序遍历特定索引(例如,范围扫描),它可能会这样做,这可能是因为您使用了order BY。

数据库并不是那样工作的。你不能以这种方式依赖他们的行为。

如果您正在进行全表扫描,预计会花费一些时间,特别是如果您最近删除了很多行。但是,如果您有很多行,则需要更长的时间。

确保查询改用索引。查看explain计划并确保它使用了索引。

票数 2
EN

Stack Overflow用户

发布于 2010-05-18 22:51:28

也许您需要为表添加一个额外的索引。偶尔发出优化表和分析表也不会有什么坏处。如果您有合适的索引,查询性能不会因为删除了行而受到影响,即使是大量的行。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2857720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档