2016-11-08 4 views
0

私は大きなMySQLテーブル(> 1000万行以上)を持っており、クエリの効率を上げるための最良のメカニズムを検討しています。テーブル圧縮の効果を測定しますか?

具体的には、テーブルの圧縮は、ディスクのI/O負荷を軽減するので有益です。

ただし、圧縮を使用した場合の影響を測定するにはどうすればよいですか。たとえば、圧縮されたテーブルと圧縮されていないテーブルでINSERTクエリの実行時間を確認するにはどうすればよいですか?

+0

インデックスを使用すると、速度が大幅に向上します。 –

+0

@juergendありがとうございます - 私はすでにインデックス、特にプライマリキーを使用しています –

+1

インデックスとテーブルパーティションは、テーブル圧縮前に気にしています。 –

答えて

0

これにはpt-query-digestを使用できます。

最初に、テーブルは圧縮されていませんが、long_query_time=0で遅いログを有効にします(便宜上、slow.shを使用できます)。

あなたは、クエリのsubstential量を収集することはあなたの総応答時間に各クエリの個々の寄与を持つクエリプロファイルを与える

pt-query-digest slow-query-issue-$issue.log 

遅いログにpt-query-digestを実行します。

テーブルを圧縮し、pt-query-digestで練習をやり直してください。

次に、2つのクエリプロファイルを比較すると、圧縮の影響が表示されます。

関連する問題