2011-05-21 71 views
-1

用戶(用戶名,Catogory_IDSub_Catergory_ID查看或子查詢在MySQL

分類Catogory_ID,Categories_Name)

SubCatogoiesSub_Catergory_ID,SubCatogoies_Name)

code是FK的和它的PK的

問題1

我需要什麼樣的功能是使用所有這三個表一個子查詢來獲取Catogory和Sub_Catogory名稱作爲其ID的

問題2的圖

在執行什麼會更快?

回答

1

拉動所有3個表數據一起看起來像這樣一個查詢:

select u.*, c.Categories_Name, s.Sub_Categories_Name 
    from Users as u 
    left outer join Categories as c 
     on c.Category_ID = u.Category_ID 
    left outer join SubCategories as s 
     on s.Sub_Category_ID = u.Sub_Category_ID; 

這可以被製作成視圖或只需運行原樣。至於性能,物化視圖的執行速度可能比執行每次執行時的連接的即席查詢快。但我不會嘗試根據這些線路進行優化,除非您看到性能問題。如果即席查詢足夠快,不用擔心優化它。