众所周知innodb类型的引擎的索引类型为聚簇索引,所有的数据都在叶子节点下。查询的时候找到索引对应的叶子节点,直接读取叶子下面的数据。
我的疑问是:有一张innodb表,当表的列数越多的时候,查询效率就会越低?
我的理解是:列越多,叶子节点下面的数据就越多,索引工作时占用的内存空间就越大,效率就越低。
请高手指教,谢谢。
众所周知innodb类型的引擎的索引类型为聚簇索引,所有的数据都在叶子节点下。查询的时候找到索引对应的叶子节点,直接读取叶子下面的数据。
我的疑问是:有一张innodb表,当表的列数越多的时候,查询效率就会越低?
我的理解是:列越多,叶子节点下面的数据就越多,索引工作时占用的内存空间就越大,效率就越低。
请高手指教,谢谢。
innodb有俩种索引方式。一种是聚集索引,插入数据时,会同时在叶子节点中存储所有信息。另一种是辅助索引,叶子节点不对数据存储,最后在聚集索引中使用主键获取对应的行记录。。。
如果插入的数据大(列多算一种),超过定义的page页大小,会另外存到溢出页上,通过偏移量指向溢出页。
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读
3 回答1.2k 阅读✓ 已解决
2 回答2k 阅读
3 回答2k 阅读
还要看存的是什么内容 只是列多能代表什么