概要
本バージョンではSQL実行エンジンのジョブスケジューラーに対するいくつかの改善により、主に多数のクエリーを同時実行する際の性能が向上しています。
また、データベース起動時の最適化によりトランザクションログ圧縮実行後のデータベース起動時間が大幅に高速化されます。
加えて、本バージョンではいくつかの重要な不具合修正を行っています。
前バージョンを利用するすべてのユーザーは本バージョンへのアップグレードを強く推奨します。
機能追加と改善
-
SQL
- ジョブスケジューラーの広範囲に対するレコード処理を分割制御することによる、SQLジョブの並列実行性の向上
- 次のKnown Issuesの解消: TSURUGI-IS-706
- ジョブスケジューラーのnon-stickyタスクに対するスケジューリング最適化による、SQLジョブの並列実行性の向上
sql.commit_response=AVAILABLE
設定時にトランザクションログの書き込みを不正に待ち合わせ
- ジョブスケジューラーの広範囲に対するレコード処理を分割制御することによる、SQLジョブの並列実行性の向上
-
Transaction
- トランザクションログ圧縮実行後のデータベース起動時間の大幅な高速化
- 起動時間の改善状況は次のKnown Issuesを参照: TSURUGI-IS-289
- トランザクションログ圧縮実行後のデータベース起動時間の大幅な高速化
バグ修正
-
SQL
- TSURUGI-IS-957
CHAR
型に対するMIN
,MAX
関数の結果が不正となることがある - 多数のテーブルを伴うJOIN句を含むクエリが、適切に最適化されずにフルスキャンを採用してしまうことがある
OR
とIS NULL
を組み合わせたクエリーが正しく動作しないことがある
- TSURUGI-IS-957
-
Transaction
sql.commit_response=STORED
指定時にデータベースを不正に終了すると極めて稀にデータが欠損する可能性がある- 本修正による一部ケースに対する性能劣化の可能性については、次のKnown Issuesを参照: TSURUGI-IS-944
- Ubuntu 24.04 上で
tglogutil compaction
の引数<dblogdir>
の末尾に/
を指定したパスを指定するとNo such file or directory
エラーで不正終了した後に<dblogdir>
で指定したディレクトリが消失することがある - あるRTXトランザクション実行中にデータが更新された後に別のRTXトランザクションを開始すると、そのトランザクションは過去に実行されたRTXトランザクションと同じスナップショットを読んでしまう
- INSERT OR REPLACEを利用する複数のトランザクションが同一エポック内で処理された場合に、トランザクション整合性違反が検出されないことがある
-
Endpoint
- ResultSetを最後まで読まずにクローズした場合に、データベースが不安定な状態となることがある
- Tsubakuro や Iceaxe の利用時に
ResultSet
を最後まで読まずにクローズした場合に加え、tgsql
上でクライアント変数設定select.maxlines
(デフォルト:1000) を超えるレコードを取得した場合にもこの不具合が発生することがあります。
- Tsubakuro や Iceaxe の利用時に
- ResultSetを最後まで読まずにクローズした場合に、データベースが不安定な状態となることがある
既知の問題
本バージョンに対する既知の問題、および本バージョンにて修正された問題の補足情報については、以下のリンクを参照してください。
その他
本バージョンにおける変更内容の一覧は、以下のChangelogを参照してください。
旧バージョンからのアップグレード手順については、以下のドキュメントを参照してくだいさい。