我有以下表结构:
CREATE TABLE pilot_groups (
id INT PK,
name VARCHAR(50),
....
);
CREATE TABLE pilot_group_leaders (
id INT PK,
pilot_group_id INT FK,
name VARCHAR(50),
address TEXT,
....
);
CREATE TABLE members (
id INT PK,
pilot_group_leader_id INT FK,
country_id INT FK,
type VARCHAR(50),
name VARCHAR(50),
....
);
CREATE TABLE farms (
id INT PK,
member_id INT FK,
....
);
所以我必须制作一份报告,并显示按 pilot_group 分组的所有农场。要使用当前结构来完成它,我将不得不做3个连接,在我看来,这些连接不是非常优化和高效。我想在 farm 表中放置额外的外键,但我会重复。网站/应用程序的目的主要是用于生成报告和输入数据。哪种方法可能更好?
答案 0 :(得分:4)
完全删除'id'键并使用自然主键可能会有很大帮助。但是,说这会花费我的业力: - )
答案 1 :(得分:3)
坚持使用当前版本,不要复制外键。
你应该能够摆脱桌面上的一些索引。
如果它没有破坏,就不要修理它。你确实遇到了性能问题,或者你是否期待它们?