有没有理由在表中添加少量(少于10个)元素的索引? 它经常用在连接中,但我不确定这样小的表上的索引是否会提高其性能或降低。
编辑:表中的行非常小:7列,总大小小于500字节,所以我认为它可以存储在服务器内存中(这是Paul Sanwald的回答)
答案 0 :(得分:2)
与所有性能问题一样,答案是:创建性能测试并测量结果。
否则,答案错误的可能性为90%。
答案 1 :(得分:2)
大小的表不太可能使用索引。如果表的大小稳定并且总是很小,我就不会添加索引。
来自联机丛书:
索引小表可能不是 最佳,因为它可以采取查询 优化器更长,以遍历索引 搜索数据而不是执行数据 简单的表扫描。因此,索引 在小桌子上可能永远不会使用, 但仍必须作为数据进行维护 在表中更改。
因此,对小型表进行索引可能是一个糟糕的主意。
答案 2 :(得分:0)
当您在表上创建主键时,它将创建一个聚簇索引(假设您尚未在表上创建另一个聚簇索引。只能有一个。)因为您正在讨论引用它其他表,我会假设你会这样做。因此,为了回答您的问题,没有必要创建索引,因为假设您使用主键来查找信息,将为您创建一个索引。
答案 3 :(得分:0)
可能不是,但它确实至少部分取决于您的表有多少列,以及这些列的类型。如果您的行太大而无法存储在内存中,但索引可能存在,那么在查询中经常使用的列子集上建立索引是有意义的。