psa*_*iko 5 mysql database indexing
使用以下列为名为user_movies的表创建索引是否有意义:
user_id movie_id
在这张桌子上插入或更新会有更多的阅读,但我不知道该怎么做.另外:在这种情况下是否足以省略主键?
Bil*_*win 10
该表的正确定义如下:
CREATE TABLE user_movies (
user_id INT NOT NULL,
movie_id INT NOT NULL,
PRIMARY KEY (user_id, movie_id),
FOREIGN KEY (user_id) REFERENCES users(user_id),
FOREIGN KEY (movie_id) REFERENCES movies(movie_id)
) ENGINE=InnoDb;
Run Code Online (Sandbox Code Playgroud)
注意"主键"是约束,而不是列.最佳做法是在每个表中都有一个主键约束.不要将主键约束与自动生成的伪键列混淆.
在MySQL中,声明外键或主键隐式创建索引.是的,这些都是有益的.
| 归档时间: |
|
| 查看次数: |
1084 次 |
| 最近记录: |