我有一张桌子看起来像这样:
CREATE TABLE `item` (
`id` int(11) NOT NULL auto_increment,
`title` varchar(255),
`my_number` int(10) unsigned default NULL
);
Run Code Online (Sandbox Code Playgroud)
有成千上万的物品,我通常按'my_number'订购它们.
当我按此字段订购时,在'my_number'上添加索引会增加查询的性能吗?
我使用MySQL,表是InnoDB.
我知道答案,但没关系.在潜在数据库优化的所有情况下,您应该做的是添加索引并对其进行测试.而且,就此而言,我的意思是测试所有受影响的查询,插入和更新,以确保您的性能提升超过其他地方的任何性能损失.
如果替代方案是您可以自己收集的具体数据,那么您不应该相信我的知识或其他任何人.测量,不要猜!
答案是,顺便说一下:"它应该,除非你的DBMS确实是脑死亡的".通常,添加索引会提高选择速度,但会降低插入和更新速度.但我的意思是 "一般" - 情况并非总是如此.一个好的DBA会不断检查DBMS的性能并在必要时进行调整.数据库不是一劳永逸的对象,它们需要得到照顾和培养:-)
| 归档时间: |
|
| 查看次数: |
334 次 |
| 最近记录: |