索引相关问题

索引相关问题

    因为使用索引可以避免全表扫描去查找数据,提升检索效率。

 

什么样的信息能成为索引

    主键、唯一键(使数据具备一定的区分性的字段)都能成为索引。

 

索引的数据结构

    主流的是B+树,hash、BitMap等。

    mysql 不支持BitMap 索引,且不显式支持hash索引。

 

如何定位并优化慢查询sql

    1.根据慢日志定位慢查询sql

    2.使用explain等工具分析sql

    3. 修改sql或者尽量让sql走索引

 

索引是建立的越多越好吗?

    数据量小的表不需要建立索引,建立索引会增加额外的索引开销

    数据变更需要维护索引,因此更多的索引意味着更多的维护成本(B+树的 分裂与合并操作)

    更多的索引也意味着需要更多的空间去进行存储。