2011-11-29 103 views
-2

我需要一點幫助。我必須在我的數據庫中查詢其中一個表中的每個ID,以獲取該ID的特定數據。最小化,縮短,優化,簡化重複性的mysql查詢

我的查詢看起來是這樣的:
SELECT fb_id, user_name FROM user WHERE user_id = X

我有成千上萬的用戶ID我都無法運行此查詢的,我不喜歡在每一個頁面加載運行數千個查詢的想法。這是一個搜索頁面,所以它被大量使用。

這有可能被優化嗎?

+0

「我不喜歡在每個頁面加載上運行數千個查詢的想法」爲什麼你現在需要這個? –

+0

你已經說過這是一個搜索頁面,爲什麼不爲每個結果「加入」數據而不是查詢? – Prisoner

回答

1

如果你是真正的運行不同的值,這個相同的簡單查詢user_id,爲什麼打擾WHERE條款?只需選擇所有行(或任何您需要的子集),然後將它們取到應用程序代碼中的數組中。

SELECT user_id, fb_id, user_name FROM user 
0
  1. 穿上「user_ID的」
  2. 一鍵添加LIMIT 1到查詢結束(這是獨一無二的,對不對?)
+0

要添加...以及關於何時以及爲什麼呼叫查詢的更多信息,也許我們可以將呼叫全部減少到一起。 – Shackrock

1

我敢打賭

SELECT fb_id, user_name FROM one_of_my_tables o LEFT JOIN user u ON o.uid=u.id 

我看到在運行,即使這一項上的每個頁面加載是沒有意義的。