投稿者: afaik

Generate Dummy Data
ベンチマークを実施する場合は、本番と同じデータとシステムで実施しないとあまり参考にする事は出来ませんが、おおよその検討を付ける為にダミーでデータを生成するケースも有るかと思います。TPCCなどを用いてデータを生成する事も […]
explain analyze
In case of MySQL PostgreSQLには、実際に処理を実行する、Explain Analyzeがありましたが、MySQL8.0.18からExplainに同じオプションが導入されています。ただ、Postg […]
information_scheama
MySQLにおける、Information_Schema INFORMATION_SCHEMAでは、データベースのメタデータを参照してテーブル、カラム情報、権限などの MySQLのメタ情報を確認する事が可能です。 Inf […]
sql_mode
MySQLもPostgreSQLもコストベースのオプティマイザーがANALYZEによって収集したデータを基に、SQLの処理を最適化して実行してくれますが、必ずしも常にパフォーマンスが最適化される訳では有りません。そんな時 […]
SKIP LOCKED
前回のブログで、MySQLとPostgreSQLの基本的なロックに関してはまとめたので、ここでは、MySQL8.0から加わっている。SKIP LOCKEDとNOWAITオプションについて追記します。 MySQL8.0 ( […]
ROLLUP
Group byやWindows関数でも、勿論集計出来ますが。ROLLUPを利用する事でグループ毎に集計した値を取得すると同時に集計した結果も合わせて取得する事が出来ます。データ集計を簡素化する上で、Windows関数や […]
jupyter lab
Pythonで開発する時には、Visual Studio Codeが便利で利用していますが、Pythonの統合開発環境として公開されている、JupyterLabを利用してみました。こちらは、ブラウザーベースの開発環境です […]
UPSERT
RDBMSには重複する値を許可しないように、Primary KeyやUnique Key制約で担保する機能がありますが、バッチ処理などで重複を許可しないデータに対して、同じ値で更新する処理が発生する事があります。そんな時 […]
pg_stat_statements
MySQLもPostgreSQLもスタンダードな状態で提供されているデータベース・ソフトウエアに対して、プラグインを利用して色々な拡張機能を追加する事が可能です。また、必要なモジュールを自分で開発してプラグインとしてデー […]
pg_stats
SQLを実行すると、データベースにてParserが構文チェックしてSQL文にエラーが無いか確認した後に、RewriterがSQLを内部的に書き換えます。書き換えられたSQLをOptimizerがどのように実行するかを統計 […]