MySQL 中的索引数量是否越多越好?为什么?
索引并不是越多越好。因为索引不论从时间上还是空间上都是有一定成本的。
从时间上
每次对表中的数据进行增删改时,索引也需要更新维护,这会增加写入操作的开销。索引越多需要修改的地方也就越多,时间开销也就越大,并且B+tree可能会有页的分裂、合并等操作,时间开销就会更大。
从空间上
每建立一个二级索引,都需新建一个B+tree,默认每个数据页都是16KB,如果数据量很大,索引页很多,那占用的空间可不小。
#MySQL(21)评论
索引并不是越多越好。因为索引不论从时间上还是空间上都是有一定成本的。
从时间上
每次对表中的数据进行增删改时,索引也需要更新维护,这会增加写入操作的开销。索引越多需要修改的地方也就越多,时间开销也就越大,并且B+tree可能会有页的分裂、合并等操作,时间开销就会更大。
从空间上
每建立一个二级索引,都需新建一个B+tree,默认每个数据页都是16KB,如果数据量很大,索引页很多,那占用的空间可不小。
#MySQL(21)评论