我正在检查wordpress架构,我观察到了这一点:
为什么term_taxonomy_id
被指定为主键和索引?这有什么好处吗?
答案 0 :(得分:0)
主要索引是object_id
和term_taxonomy_id
的组合(也是次要索引)。
数据库模式设计者定义主要(和次要)索引,期望查询(或更新)该DB的常见SQL请求。
出于性能原因,定义好的索引几乎是最重要的。
因此,预计很多查询会像SELECT
一样 WHERE object_id=
某些常量 AND term_taxonomy_id=
其他一些。
答案 1 :(得分:0)
如果PRIMARY索引是主键,则会强制表中只有一个object_id和term_taxonomy_id的组合。由于object_id首先出现,引用object_id的查询将使用索引的结构来非常快速地查询值。如果查询不引用任何其他字段,他们甚至不必查看表数据,因为数据全部在索引中。
但是,如果term_taxonomy_id用于查询,则必须扫描整个索引以查找行。在term_taxonomy_id上建立索引会使这些查询运行得非常快。