カテゴリー: PERFORMANCE

profiling
SQLの処理に時間がかかっている場合は、基本的にEXPLAINで実行プランを確認して頂き、必要に応じてパフォーマンスチューニングして頂きますが、更にSQLのどのイベントで時間がかかっているか確認したい時はprofilin […]
temp_table
MySQL8.0.16のリリースノートに以下の様にTempTableの処理に変更が加わっていたので仕様を把握する為に、追加されたパラメータと挙動に関して確認してみました。見ていると、8.0.23での変更や、8.0.26に […]
statement_id
MySQLを運用する中で、SYS Schemaを利用してインスタンスの状態を確認する事が増えていますが、Performance Schemaを直接見てSQL処理を確認するケースも相変わら多いか思います。まだ具体的にどの様 […]
スキャン範囲アクセス方法のスキップ
MySQL8.0.13のリリースノートに遡って見て見ると、以下の様な記述があったのでどのような処理なのか?どれだけパフォーマンスに影響があるのかを確認してみました。 Optimizer Notes: The optimi […]
query_rewrite
 Query Rewrite Pluginは以前から提供されていましたが、8.0.12以降でSELECT以外のDMLをサポートしたとの事でしたので、念の為に挙動を確認してみます。他に対応方法が無い場合以外で、積 […]
Generate Dummy Data
ベンチマークを実施する場合は、本番と同じデータとシステムで実施しないとあまり参考にする事は出来ませんが、おおよその検討を付ける為にダミーでデータを生成するケースも有るかと思います。TPCCなどを用いてデータを生成する事も […]
sql_mode
MySQLもPostgreSQLもコストベースのオプティマイザーがANALYZEによって収集したデータを基に、SQLの処理を最適化して実行してくれますが、必ずしも常にパフォーマンスが最適化される訳では有りません。そんな時 […]
pg_stats
SQLを実行すると、データベースにてParserが構文チェックしてSQL文にエラーが無いか確認した後に、RewriterがSQLを内部的に書き換えます。書き換えられたSQLをOptimizerがどのように実行するかを統計 […]
work_table
データの集計処理をしていると、再実行すれば良くてリカバリーは不要なので早く処理したい!! というニーズがあるかと思います。そんな時はワークテーブルを活用したりして、時間を短縮されている方も多いかと思います。ワークテーブル […]
PARTITIONING
データサイズが増加し続け、シングルテーブルに格納するとサービスに影響が出てしまう場合で、且つ実行しているSQLがパーティションに設定したデータ分散用のキー(日付等)によってフィルター出来る場合にパーティションは非常に有用 […]

最近のコメント

表示できるコメントはありません。