2013-12-14 55 views
0

我有一個MySQL表所示:偏移是否可靠且速度更快?

+-----------------+ 
|userid  pics | 
|0   1000 | 
|1   10 | 
|...   ... | 
+-----------------+ 

其中「圖片」是圖片的傢伙的數量。然後,我有第二個表:

+----------------------+ 
|picid  uploaderid| 
|0   0   | 
|1   2   | 
|...   ...  | 
+----------------------+ 

我做的是通過迭代uploaderid檢索所有的圖像,他的PIC的ID /她上傳。限制上傳人的照片數量是否可靠,並且速度會更快?假設一個大型數據庫。

謝謝。

+0

你告訴我們,這一切都取決於你想限制圖片的數量時完成的任務。如果您嘗試檢索所有照片,我使用某個用戶ID,則使用LIMIT將無法使用。 –

+0

@NoahR這就是爲什麼我問 - 爲什麼不工作? – Shahar

+0

好的。假設您想要選擇Tom的所有照片,但是您在MYSQL查詢中使用了LIMIT。湯姆有200張照片,但我們不知道使用LIMIT語句,所以我們如何選擇他的所有照片? SELECT * FROM tbl LIMIT 5只會檢索5張照片。如果你想檢索湯姆的所有照片,你可以使用SELECT * FROM tbl;當然你會用這個WHERE語句。 –

回答

0

使用limit如果查詢需要全表掃描會更快。這將允許全表掃描在用戶點擊最後一張圖片後停止。在很多情況下,這可以將時間減少2倍或更多。

但是,你應該有SecondTable(uploaderid)的索引。與索引,使用limit不會提高性能,因爲該指數已經知道其中最後一個PIC是一個用戶。

+0

正常的做法是有一個索引。 –

相關問題