辅助索引与聚集索引的区别在于辅助索引的叶子节点并不包含行记录的全部数据,而是存储相应行数据的聚集索引键,即主键。为什么它要这样设计,而不是辅助索引也存储整行数据呐,这样不是更加的方便吗?
###时间和空间的权衡,如果搞俩索引都存完整数据,相当于浪费了存储空间
其次,由于二分查找的时间复杂度为O(logN),从辅助索引再去找聚簇索引中的那一行数据也是非常快的!
那聚簇索引跟非聚簇索引还有啥区别了,你这不相当于都是聚簇索引了吗?
有了聚簇索引为啥还要非聚簇索引?当然是为了省存储空间啊!如果只是便宜的硬盘(虽然在 InnoDB 被设计出来的年代硬盘也不便宜)还好说,执行的时候索引不得读到更金贵的内存里么?