索引的好处主要有以下几个:
- 提高查询效率。通过索引快速定位数据,无须扫描全表,大大提高Query性能。
- 加速where、order by和join子句。 where子句能过滤数据,order by子句能快速排序,join子句能快速连接表。这些都能利用到索引。
- 减少insert和update操作的开销。索引需要在数据更新时也跟着更新,但是相对来说开销在可接受的范围。
- 增加存储开销。索引需要占用额外的磁盘空间。
在项目中,我们通常会对那些在查询中常用(where、order by、join)的字段创建索引。这样可以最大限度地提高查询速度。
但同时需要考虑索引的开销,不要对每一列都创建索引。只针对真正需要的字段,创建有助于优化查询的索引。
找到这种平衡点,才能让索引真正发挥作用,帮助提高应用的性能。