我需要一點幫助。我必須在我的數據庫中查詢其中一個表中的每個ID,以獲取該ID的特定數據。最小化,縮短,優化,簡化重複性的mysql查詢
我的查詢看起來是這樣的:
SELECT fb_id, user_name FROM user WHERE user_id = X
我有成千上萬的用戶ID我都無法運行此查詢的,我不喜歡在每一個頁面加載運行數千個查詢的想法。這是一個搜索頁面,所以它被大量使用。
這有可能被優化嗎?
我需要一點幫助。我必須在我的數據庫中查詢其中一個表中的每個ID,以獲取該ID的特定數據。最小化,縮短,優化,簡化重複性的mysql查詢
我的查詢看起來是這樣的:
SELECT fb_id, user_name FROM user WHERE user_id = X
我有成千上萬的用戶ID我都無法運行此查詢的,我不喜歡在每一個頁面加載運行數千個查詢的想法。這是一個搜索頁面,所以它被大量使用。
這有可能被優化嗎?
如果你是真正的運行不同的值,這個相同的簡單查詢user_id
,爲什麼打擾WHERE
條款?只需選擇所有行(或任何您需要的子集),然後將它們取到應用程序代碼中的數組中。
SELECT user_id, fb_id, user_name FROM user
LIMIT 1
到查詢結束(這是獨一無二的,對不對?)要添加...以及關於何時以及爲什麼呼叫查詢的更多信息,也許我們可以將呼叫全部減少到一起。 – Shackrock
我敢打賭
SELECT fb_id, user_name FROM one_of_my_tables o LEFT JOIN user u ON o.uid=u.id
我看到在運行,即使這一項上的每個頁面加載是沒有意義的。
「我不喜歡在每個頁面加載上運行數千個查詢的想法」爲什麼你現在需要這個? –
你已經說過這是一個搜索頁面,爲什麼不爲每個結果「加入」數據而不是查詢? – Prisoner