【发布时间】:2013-04-11 02:53:51
【问题描述】:
假设我有一个包含 60 列的表,我需要对该表执行各种查询,并且还需要将该表与其他表连接起来。而且我几乎使用所有行来搜索该表中的数据,包括其他表。该表就像数据库中的主表(如主键)。所以所有的表都与这张表有关。 通过考虑上述情况,我可以在表的每一列(60 列)上创建索引 ,这是好的做法吗?
单句:
Is it best practice to create index on each column in a table ? What might happens if I create index on each column in a table?
其中 index 可能是“主键”、“唯一键”或“索引”
请评论,如果这个问题对你们来说不清楚,我会尝试改进这个问题。
【问题讨论】:
-
如果每列都有一个索引,代价就是额外的存储空间和一点点插入和更新的开销。
-
为什么插入和更新操作会产生开销
-
当您在包含 60 个索引列的表中插入一条新记录时,您还必须为这 60 个列创建索引条目。 (将索引视为小表,尽管它们通常是树)。