4

これが私のクエリです。非常に高速に動作します。私はmovieid、movie.title、collectors_collections.barcode、およびcollectors_collections.usernameにインデックスを持っています(他のテーブルにもインデックスがあります):

SELECT *
FROM collectors_collections
JOIN movieitemdetails ON collectors_collections.barcode = movieitemdetails.barcode
JOIN movies ON movieitemdetails.movieid = movies.movieid
JOIN barcodes ON collectors_collections.barcode = barcodes.barcode
WHERE (wishlist = 'NO' OR wishlist IS NULL) AND barcodes.type = 'movie' AND username = 'ethanwa'
ORDER BY movies.title LIMIT 250

LIMIT をこれに変更するとすぐに:

ORDER BY movies.title LIMIT 251

クエリを強制終了しない限り回復できないハングが常に発生します。何が原因で、どうすれば修正できますか? 不足している設定はありますか?何かのインデックス?何かが壊れていますか?

4

1 に答える 1

2

MySQL に十分なメモリが割り当てられていないことがハングの原因であり、すべてのテーブルがディスクに送信され、永遠にかかることが判明しました。MySQL設定でメモリ量を増やすだけで問題が解決しました。

于 2013-05-15T02:09:48.023 に答える