特别是对于 MySQL,但我猜大多数 SQL 品牌的结构都是相似的。组合索引比单个索引大得多吗?例如,保存 INDEX(col1, col2) 所需的空间量是否与保存 INDEX(col1) + INXEX(col2) 所需的空间量相同?我现在在开发中并没有遇到这个问题,只是好奇。
最佳答案
对于 InnoDB,组合索引的大小大致为 col1
的大小加上 col2
的大小加上表主键的大小(或 4 个字节)如果使用 MyISAM)。
使用 InnoDB 或 MyISAM,组合索引应小于两个单独的索引,因为使用两个单独的索引时,主键(或 4 字节行指针)将被包含两次(每个索引一次)。
关于sql - 组合索引比单个索引大多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4864854/