0

mysql データベースを最適化したいので、my.cnf で mysql スロー クエリ スイッチを有効にします。私が見ているのは、私の拡張機能や他の拡張機能からの多くのテーブルを含む多くの sys_log クエリです。これは遅いクエリですか? どうすればそれを超えることができますか?

# Query_time: 0  Lock_time: 0  Rows_sent: 538  Rows_examined: 23611
SELECT sys_log.event_pid, sys_log.recuid, sys_log.tablename, sys_log.userid,    
sys_log.tstamp, be_users.realName, be_users.email FROM sys_log, be_users WHERE  
sys_log.tablename IN  
('tx_templavoila_datastructure','tx_templavoila_tmplobj','tx_chsystemrecherche_mo','tx_chsystemrecherche_s2','tx_chsystemrecherche_s3','tx_chsystemrecherche_s1','tx_chsystemreche che_da','tx_chsystemrecherche_de','tx_chsystemrecherche_wa','tx_chsystemrecherche_tb','tx_chsffoeag_fund','tx_charbeitsbeispiele_maxmedia','tx_chsammelstellen_plz','tx_chtreeview_example','tx_chspeditionsliste_route','tx_chspeditionsliste_k','tx_chhaendlersuche_plz','tx_veguestbook_entries','tx_lastupdate_custom','tt_content') AND sys_log.details_nr != 0 AND sys_log.userid = be_users.uid ORDER BY tstamp DESC LIMIT 0,1000;
4

2 に答える 2

0

いつでも参照インデックスを更新できるので、sys_log をクリアできない場合は高速になります。長いクエリをログに記録したい場合は、time パラメータを 2 秒などに設定します。

于 2012-05-30T19:31:52.117 に答える
0

sys_log最近のユーザーのアクティビティのプレビューを維持するために、テーブルを時々トリミングする (つまり、過去 30 日間を残す) ことは、何年も前に提案されました。

編集: Jochen Weiland によるよく知られたプレゼンテーションoil changingがあります- 典型的なmust-read位置

于 2012-05-30T19:29:42.417 に答える