カテゴリー: RDBMS

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関数や […]
UPSERT
RDBMSには重複する値を許可しないように、Primary KeyやUnique Key制約で担保する機能がありますが、バッチ処理などで重複を許可しないデータに対して、同じ値で更新する処理が発生する事があります。そんな時 […]
pg_stat_statements
MySQLもPostgreSQLもスタンダードな状態で提供されているデータベース・ソフトウエアに対して、プラグインを利用して色々な拡張機能を追加する事が可能です。また、必要なモジュールを自分で開発してプラグインとしてデー […]
pg_stats
SQLを実行すると、データベースにてParserが構文チェックしてSQL文にエラーが無いか確認した後に、RewriterがSQLを内部的に書き換えます。書き換えられたSQLをOptimizerがどのように実行するかを統計 […]
collation
MySQLにおける、文字コードと照合順序(COLLATION) 照合順序は文字列の比較やソート順のルールのことです。各キャラクタセットごとに照合順序が定義されています。文字コードは日本語、中国語、韓国語等であれば絵文字も […]
ALTER TABLE
サービス運用開始時には要件が無く、その時の要件に応じて設計しテーブル等のデータベースオブジェクトを作成する事が殆どだと思います。拡張性が求められる事が想定される環境においては、予めテーブルに将来利用する為の列を用意してお […]

最近のコメント

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