索引键是不是足够或者我应该添加外键
Posted
技术标签:
【中文标题】索引键是不是足够或者我应该添加外键【英文标题】:Is index key enough or should I add foreign key索引键是否足够或者我应该添加外键 【发布时间】:2015-01-13 10:50:30 【问题描述】:我不确定是否应该在我的表中添加外键,因为目前我只在 INNER JOINS 上使用索引键。
例如:我有 4 张桌子。
广告>主键ad_id
用户>主键user_id
状态>主键state_id
城市>主键city_id
在我的广告桌上。
每个广告都有一个 seller_id 和一个 buyer_id,这些行内部连接到用户表行 user_id 上的用户表,这是一个主要的键入该表。
每个广告还有一个 state_id 和 city_id,它们内部连接到作为主键的城市/州表。
目前我只将 Ad 表中的那些字段设置为索引键,然后这些索引键内部连接到另一个表中的主键。我还应该将广告表中的那些索引键设置为外键吗?
谢谢
【问题讨论】:
【参考方案1】:外键会让人想到一对多的关系。这不是你在这里所拥有的。
您应该为参与 WHERE 子句的列添加索引,并超出主键上的 JOIN。
【讨论】:
谢谢,所以我应该在用于 INNER JOINS 和 WHERE 查询的列上使用索引键? 我假设您的 JOINS 已经违反了主键。你不需要对它们做任何其他事情。 WHERE 子句中的非键列应该添加索引。以上是关于索引键是不是足够或者我应该添加外键的主要内容,如果未能解决你的问题,请参考以下文章