我有一個有三列並使用PHP的小表。 (id)unsigned int(10),gameid unsigned int(10),userid unsigned int(10)) - id,gameid和userid被編入索引。MySQL COUNT與SELECT行的性能
有些時候(當玩家加入遊戲時)系統會檢查遊戲中是否已經有100個玩家,如果是這樣,它會檢索所有行並對它們執行一些操作,最後會刪除行。
SELECT查詢:
SELECT * FROM table WHERE gameid = 1 ORDER BY id ASC LIMIT 100
統計查詢:
SELECT COUNT(*) as rows FROM table WHERE gameid = 1 LIMIT 100
刪除查詢:
DELETE FROM table WHERE gameid = 1 ORDER BY id ASC LIMIT 100
我的問題是關於性能和速度,這將是更好的:
方法1(3查詢)
- 執行COUNT查詢並檢查有多少行是在表
- 如果行> = 100做:
- 執行SELECT查詢和處理數據
- ,可執行刪除查詢
方法2(2查詢)
- 執行SELECT查詢
- 如果count(行)> = 100的更多信息:
- 過程中的數據
- ,可執行刪除查詢
什麼辦法將更好地使用?
感謝
自己嘗試一下,看看哪一個需要較長的時間。 –