このクエリ ("jack" ではなく別の名前) は、スロー クエリ ログで何度も発生します。なんで?
Users テーブルには多くのフィールド (私が選択したこれらの 3 つ以外) と約 40.000 行があります。
select name,username,id from Users where ( name REGEXP
'[[:<:]]jack[[:>:]]' ) or ( username REGEXP '[[:<:]]jack[[:>:]]' )
order by name limit 0,5;
id
プライマリで自動インクリメントです。
name
索引があります。
username
ユニークなインデックスを持っています。
3秒かかる時もある!MySQL の選択について説明すると、次のようになります。
select type: SIMPLE
table: Users
type: index
possible keys: NULL
key: name
key len: 452
ref: NULL
rows: 5
extra: Using where
これは私ができる最善のことですか?何を修正できますか?