簡體   English   中英

性能PHP選擇在何處加入左連接

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM