php - 索引键足够还是应该添加外键

标签 php mysql indexing foreign-keys inner-join

我不确定是否应该向表中添加外键,因为目前我只在 INNER JOINS 上使用索引键。

例如:我有 4 张 table 。

广告 > 主键ad_id

用户>主键user_id

状态>主键state_id

城市>主键city_id

在我的广告表上。

每个广告都有一个 seller_idbuyer_id,这些行内部联接到用户表行 user_id 上的用户表,该行是主要的键入该表。

每个广告还有一个 state_idcity_id,它们内部连接到城市/州表,其中这些行是主键。

目前我只将 Ad 表中的这些字段设置为索引键,然后将这些索引键内部联接到另一个表中的主键。我是否还应该将广告表中的这些索引键设置为外键

谢谢

最佳答案

外键让人想起一对多关系。这不是你这里所拥有的。

您应该向参与主键 JOIN 之上和之外的 WHERE 子句的列添加索引。

关于php - 索引键足够还是应该添加外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26957220/

相关文章:

php - 使用 php 制作博客

php - 第 2 行第 1 列错误 : Extra content at the end of the document in PHP public function

当 SELECT 中存在多个字段时,mysql ORDER BY 不使用索引

python - 基于特定列属性的 Pandas fillna()

javascript - 使用PHP switch控制语句列出MySQL数据库中的每个表列和行

php - 如果(isset($_POST ["myvar"])&& isset($_POST ["myvar2"])失败

MySQL 基于具有给定数据集的列进行分组

mysql - 使用 Workbench 生成 SQL

python - 在 numpy 中从多个集合中选取并分配多个子集

php - Laravel Auth 与 React 前端的集成