Rob*_*cks 14 mysql sql indexing foreign-keys primary-key
你什么时候使用每个MySQL索引类型?
对于非常大的表,索引列是否可以提高性能?
mar*_*kus 20
主键是 - 顾名思义 - 表的主键,应该是一个通常用于选择该表行的列.主键始终是唯一键(唯一标识符).主键不限于一列,例如在参考表(多对多)中,使主键包括两列或更多列通常是有意义的.
唯一索引可确保您的DBMS不接受此列的重复条目.你问'外键?' 没有!这没有用,因为外键每个定义都容易出现重复(一对多,多对多).
其他索引可以放在通常用于SELECTS(和JOINS)的列上,这通常是外键的情况.在许多情况下,如果外键被索引,则SELECT(和JOIN)查询将更快.
但请注意 - 正如SquareCog所阐明的那样 - 索引会对数据的任何修改进行更新,因此,添加更多索引会导致INSERT/UPDATE性能下降.如果索引没有得到更新,您将获得不同的信息,具体取决于优化器是否决定在索引或原始表上运行查询 - 这是一种非常不受欢迎的情况.
这意味着,您应该仔细评估指数的使用情况.有一点可以肯定的是:必须避免使用未使用的指数.删除!
| 归档时间: |
|
| 查看次数: |
10122 次 |
| 最近记录: |