[英]performance PHP select where vs left join
我為多國語言圖書館CMS工作。 對於數據庫設計,我有兩個想法:
一:
id | title | desc | date | writer | publisher | lang | more more | ...
結果:
result = SELECT blah1, blah2, foreign_key FROM foo WHERE key=bar AND lang = en
二:為語言添加另一個表:
id | book_id | lang
為了使用PHP LEFT JOIN
方法獲得結果。
對於大型數據庫,哪種方法更好更快?
注意: I have 27 columns in my table and 4500 books.
由於每本書只有一種語言,因此您只需要在books表中有一個language_id列,該列引用一個language表。 語言表將包含所有語言的列表。
books:
id | title | ... | language_id
languages:
id | name | code
例如:
books:
id | title | language_id
1 | Othello | 1
2 | The Bible | 1
3 | Les Misérables | 2
languages:
id | name | code
1 | english | en
2 | french | fr
然后,您可以選擇在books.language_id = language.id上左連接的書籍
這種方式的另一個好處是,通過選擇語言表的內容,可以輕松列出所有語言。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.