私は配列mysqlクエリを使用すると、それは本当に遅いです。これをより速くするためのトリックはありますか?PHP mysqlクエリの配列
例えば:
SELECT *
FROM posts
WHERE type IN ('1','2','5')
ORDER BY id ASC
は、他のクエリ、その後ずっと長い時間がかかります。
私は配列mysqlクエリを使用すると、それは本当に遅いです。これをより速くするためのトリックはありますか?PHP mysqlクエリの配列
例えば:
SELECT *
FROM posts
WHERE type IN ('1','2','5')
ORDER BY id ASC
は、他のクエリ、その後ずっと長い時間がかかります。
type
がinteger
タイプの場合は、アポストロフィを削除します。
WHERE type IN (1, 2, 5)
ない場合 - integer
に変更type
タイプが、私は次のことを見上げ検討したいクエリをスピードアップするために多くのことを:
ノーマライズ。おそらくテーブルの構造が最も効率的ではないでしょうか?
インデックス作成。検索したいものが分かっていると、クエリ時間が短縮されます。
EXPLAIN
は、クエリが遅い理由を教えてくれます。それに基づいて、クエリやテーブル構造を調整して問題を解決することができます。この場合、このようにそれを使用します。ここでは
EXPLAIN SELECT * FROM posts WHERE type IN (1,2,5) ORDER BY id ASC
ます(「1」「2」、「5」) まず、二つのことを見てする必要がありこれは文字列であることを整数いけません(1,2,5)となります。 第2に、タイプフィールドにインデックスを適用できます。
インデックス?実際に必要な列のみを返します。すべてではありません。 –
説明をして何が起こっているのを見てください – david
これは配列ではありません – NullUserException