2012-06-04 193 views
0

標識標識的最佳方式是什麼?獲取標識的標識

這是我面臨的問題。

我有很多表只包含的ID(subject_id,level_id,place_id,等..)

什麼是不做任何複雜的SQL查詢顯示時顯示這些ID的的標籤(有最好的方式最少的6'ids)?

當然你可以看到每列的問題的其他選項這是不是很高興做的是調用get_label(ID,表,郎)(總查詢次數=列*行)

任何更好的解決方案,或者我堅持不做6個表上的聯接?

如果它有助於我使用Kohana的

這裏是我有...

enter image description here

,爲subject_id主題表:

enter image description here

我爲每個field_id都有一個對應的表。

就性能而言,更好地進行連接或僅在需要時調用查詢以獲取特定標籤。 ?

+0

你是什麼意思由一個id的「*標籤*」? – eggyal

+0

修改我的問題...所以,而不是得到(subject_id = 3)我會得到(化學) – Tarek

+0

但該數據只在主題表...所以當然,你將不得不加入主題表來獲得它! – eggyal

回答

1

您想爲此使用SQL JOIN

SELECT t1.*, t2.subject_en, ... 
FROM table1 t1 
JOIN table2 t2 ON (t2.id = t1.subject_id) 

A JOIN有一個更好的performane - 你只可以通過數據庫引擎,同時做一個選擇適當的優化單個查詢而從初始查詢遍歷行會給你N + 1獨立查詢。