performance

DB

TiDB Cloudで外部キー制約のチェックをGLOBALスコープでオフにしても、引き続きチェックが走る [TiDB Cloud Dedicated]

やりたかったこと「外部キー制約のチェックをオフにしたい」TiDB Cloudでの性能試験時にインサートのクエリが遅くなっており、実行計画を見ると外部キー制約のチェックで4秒ほど時間を使っていることがわかりました。TiDBにおいて外部キー制約...
Amazon Aurora

外部キー制約によるインサートの性能劣化はNewSQLの意外な欠点

NewSQLの代表的な欠点「レイテンシー」NewSQLの欠点としてよく上がるのが「レイテンシー」です。これは分散DBである程度強いデータ整合性を達成しようと思うと、仕方ない話なのかなと思います。構造的にも納得できます。意外な欠点「外部キー制...
DB

7億行のテーブルにパーティション導入することでdelete文の速度が4.7倍高速化した

はじめに今回は、7億行ものデータ行を持つテーブルの日付カラムにパーティションを導入することで、delete文が高速になるかどうかを検証しました。また、検証対象テーブルのファイルグループを、デフォルトでデータが格納されるPRIMARY以外にす...
DB

テーブルパーティションの性能改善事例集

事例: 4億行のテーブルに対してselectクエリ実行した場合4億行で比較したところ、7秒かかるクエリが1秒まで短縮された事例: 20億行のテーブルに対して、selectを実行した場合20億行のテーブルに対して、selectを実行した場合、...
Java

正規表現のコンパイルをメモ化すると若干速くなるらしいのでローカル環境で検証してみた

はじめに「Effective Java 第3版」の第2章の項目6に「不必要なオブジェクトの生成を避ける」という内容のものがあり、そこで正規表現のコンパイルはクラス変数にキャッシングした方がパフォーマンスを大幅に改善できるとのことが書いてあっ...
DB

JOOQのbulk update, batch update, for文でのupdateはどれくらいの速度差があるのか?

目次はじめにjOOQとは1万件のレコードをjOOQでアップデートする際の性能おわりに1. はじめにみなさんDBのデータ更新をする際になんとなくupdateしてませんか?実は数万件単位のupdateをする際に、愚直にupdateするのとbul...
DB

[SQL Server] 行ロックを取りすぎるとテーブルロックに変わる

SQL Serverにおいて行ロックを取得しすぎるとテーブルロックに変わることがあります。このロックエスカレーションという挙動と注意点について解説します。