db
のデータベースを呼び出し、数百行の小さなテーブルをx
と呼び、さらに大きいものを10k行のy
と呼ぶことができます。大きなテーブルをリストした後にSQLクエリが遅くなる
私はテーブルx
にクエリを発行すると、クエリは基本的なクエリSELECT * FROM x LIMIT 25
の使用に関する0.0003秒で何の問題もなく発行されます。
これは、すべてのクエリを処理するために、0,3msについて取ってdb
内のすべての小さなテーブルに適用されます。
しかし、同じ基本クエリSELECT * FROM y LIMIT 25
をテーブルy
に発行した後、プロセスはかなり遅くなります。場合によっては100msを処理することがあります。
それはテーブルy
とテーブルx
の照会時間のクエリ時間に影響を与えます。
問題は、いずれかのテーブル
x
の物件数回の再発行や
db
に別の小さなテーブルをリストアップした後、離れて行くように思われます。別のデータベースのテーブルはまだ遅いです。
私は、クエリ速度を向上させるためにできる最適化とパフォーマンスの強化についてたくさん読んできました。しかし、いずれもこの問題をカバーしていないようです。
ボットテーブルのフィールドは同じですか?彼らはFKを持っていますか?あなたは私たちに彼らの説明を教えてもらえますか、おそらくより良い方法であなたを助けることができます。 –
私はキャッシングを考えるべきだと思います – RiggsFolly
@VíctorLópezテーブルがどのように構造化されているかは関係ありません。私は、列数の少ない別のデータベースに大きなテーブルを持っていますが、それでも問題は発生します。そして、彼らはFK制約がありません –