如果我在MYSQL中使用所有主键和其他字段创建新索引会占用更多空间吗?

时间:2015-08-03 11:32:11

标签: mysql

假设我创建了一个包含字段A,B,C和C的表。 D,其中A& B是主键。现在我想创建一个基于字段A,B和B的二次索引。 C。这将在MYSQL中占用更多空间,因为我正在基于3个字段创建索引,或者它将主索引与seconday索引相结合,以最小化索引所需的空间。

3 个答案:

答案 0 :(得分:0)

是。创建不必要的索引会占用更多空间,但如果它不具有性能效率,则只需要担心。

答案 1 :(得分:0)

创建另一个索引会占用更多空间。 MySQL可以在搜索不同索引中的列时优化索引(称为索引合并优化)。

答案 2 :(得分:0)

如果A, B主键,那么(在MySQL中)您有以下注意事项:

  • A / B的每个组合都是独一无二的。
  • 值不是NULL
  • 该表是"群集" (通过这对价值来订购)。

很难想象A, B, C上的索引会是的想法。毕竟,查询如:

select c
from table t
where a = 'a' and b = 'b'

可以充分利用主键索引。有一些异常情况,这样的指数可能会略有改善。但是,您很可能不需要(A, B, C)上的索引。