私は以下のコードを持っており、テーブルに数follower_id
個しかない場合でも正常にロードされます。
しかし、数千になるとすぐに、読み込みが非常に遅くなります。
これを書く良い方法はありますか?username
tblfollowers
結合するフィールドにインデックスを追加しましたが、違いはないようです。
$scheduler->render_table("events
LEFT JOIN tblfollowers ON events.id_user = tblfollowers.username
WHERE events.status ='active'
AND((tblfollowers.follower_id)='$test') OR ((events.id_user) ='$test')
GROUP BY events.event_id, events.event_name, events.user_name, events.id_user, events.time, events.details, events.location, events.dresscode
ORDER BY events.timestamp DESC"
,"event_id","start_date, start_date,event_name,details");
$scheduler->render_sql("SELECT event_id, start_date, end_date, event_name, details
FROM events ");
このクエリの説明は次のとおりです。
1 SIMPLE イベント ALL NULL NULL NULL NULL 1593 where; の使用。一時的な使用; ファイルソートの使用 1 SIMPLE tblfollowers ref PRIMARY PRIMARY 4 dbhappps.events.id_user 17 where を使用します。インデックスの使用
ここにテーブルがあります
引用符
テーブル イベント:
event_id int(11) Primary Unique Index
event_name varchar(400)
user_name varchar(155)
id_user int(11) Primary Unique Index
start_date datetime
end_date datetime
details varchar(700)
location varchar(255)
dresscode varchar(255)
timestamp timestamp on update CURRENT_TIMESTAMP
引用符
tblフォロワー:
username int(11) primary
follower_id int(11) primary
timestamp timestamp on update CURRENT_TIMESTAMP
このクエリを高速化するにはどうすればよいですか?