レコード数が1万ほどあるテーブルのランキング表を作ったのですが、ユーザーの同接が1000人を超えることもあり、負荷がかかり過ぎてレンタルサーバーから制限がかかってしまいました。
sql
1$result = $wpdb->get_results("SELECT(SELECT count(*) FROM $wpdb->ranking_table as p1 WHERE p1.rankingpt > p.rankingpt) + 1 as rank1,p.name,p.rankingpt FROM $wpdb->ranking_table as p ORDER BY rank1");
上記SQL文のORDER BYでの負荷が高すぎるようなのですが、負荷の少ない書き方はないでしょうか?
利用データベースはMySQL 5.6です
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー