一尘不染

MySQL-为什么不索引每个字段?

mysql

最近,我了解了索引的奇妙之处,并且性能得到了极大的提高。但是,据我所知,我似乎找不到该问题的答案。

索引很棒,但是为什么有人不能只索引所有字段以使表变得如此快呢?我确定有充分的理由不这样做,但是三十字段表中的三个字段又如何呢?30个字段中有10个?一个人应该划在哪里,为什么呢?


阅读 342

收藏
2020-05-17

共1个答案

一尘不染

索引占用内存(RAM)中的空间;索引太多或太大,数据库将不得不在磁盘之间来回交换它们。它们还会增加插入和删除时间(必须为每个插入/删除/更新的数据更新每个索引)。

您没有无限的记忆。使所有索引都适合RAM =好。

您没有无限的时间。仅对需要索引的列建立索引可最大程度地减少插入/删除/更新性能的影响。

2020-05-17