2012-10-13 53 views
0

請考慮您擁有一個名爲「user」的MySQL表,其中有數百萬行具有以下結構的行,並且沒有任何索引。我該如何改進此查詢的性能?

TABLE: user_id (PK) email name signup_date 

我們要執行以下查詢:

SELECT user_id 
FROM user 
WHERE email=’[email protected]’ AND name=’Olivier Cabanes’ 
  1. 如何MySQL的處理速度的術語,查詢?
  2. 如何提高查詢的性能?
+1

「通過添加索引」是否太過分了? – ruakh

回答

1

您需要電子郵件地址和名稱的指標,否則將需要去通表的每一行,將是很慢...

+0

非常感謝你 – user1742195

+0

沒有問題,只需檢查「答案」複選框... –

+3

其實,在大多數情況下,電子郵件或名稱索引將工作。這些在識別個體方面非常獨特。您最終可能會在2或3頁中進行掃描,但性能會很好。 –

0

把一個指數要麼電子郵件地址或姓名。兩者都不需要索引,因爲兩者基本上都是獨一無二的。