私は名前と別のフィールドで検索するMySQL(ストアドプロシージャで使用される)でクエリを持っています。これらの検索パラメータをさまざまに組み合わせて使用すると、1〜2秒という速い結果が得られますが、特定の値を指定すると、9秒かかる結果がウェブサイトに表示されます。 次は私がEXPLAIN文の外に出たものです:遅いMySQLクエリ
id, select_type, table, type, possible_keys, key, key_len, ref, rows, Extra
--------------------------------------------
1, SIMPLE, Names, ref, IX_Name, IX_Name, 17, const, 3173, Using where
名前はVARCHAR(40)として宣言され、他のフィールドは、符号なしSMALLINT(6)です。私はクエリで使用されている名前(IX_Name)の最初の15文字にインデックスを使用しています。遅いクエリでは、EXPLAIN出力の「行」列をチェックするために非常に多くの行が取得されることがわかります。
私はパフォーマンスを向上させるために何ができるかわかりません。上のEXPLAINの出力に何か間違っていますか?
おかげで、 ティム
遅い実行クエリを投稿することをお勧めします。 – karim79
SQL文を表示できますか?また、テーブルに格納されている名前の基数を知ることも有益です。 – DBMarcos99