+列と+posts
列の値をテーブルで検索することがよくあります。user
status
user
time
SELECT * FROM `posts` WHERE `user`='xxx' and `status`='active'
SELECT * FROM `posts` WHERE `user`='xxx' and `time`>...
したがって、2つのインデックス(ユーザー、ステータス)と(ユーザー、時間)を設定しました
より多くのインデックスを更新する必要があるほど、書き込みプロセスが遅くなることを私は知っています。ただし、この場合、読み取り操作は書き込み操作よりもはるかに多いため、両方のインデックスを使用すると便利だと思います。
とにかく、PHPMyAdminは、「列ユーザーに対して複数のインデックスが作成されました」という警告を表示します。この警告を無視できますか?Wordpress DBテーブルを確認したところ、すでにインデックスが設定されている場合は、2番目の位置に列が配置されていることがわかりました。
comment_approved_date_gmt = INDEX(comment_approved, comment_date_gmt)
comment_date_gmt = INDEX(comment_date_gmt)
INDEX(comment_date_gmt)を保存する2列のインデックス(INDEX(comment_date_gmt、comment_authorized))を1つだけ使用しないのはなぜですか?また、同じ列名で始まる2つのインデックスがあると不利になるのはなぜですか。
クエリで最初に配置する必要がある一般的なルールはありますか?たとえば、異なるエントリの数が最も少ないもの(eGステータス)と、その後に異なる値の数が多いもの(たとえば、ユーザー名)