TiDB 2.1.18 リリースノート

発売日: 2019年11月4日

TiDB バージョン: 2.1.18

TiDB Ansible バージョン: 2.1.18

ティビ

  • SQL オプティマイザー
    • フィードバック#12172で分割すると無効なクエリ範囲が表示される可能性がある問題を修正しました
    • ポイント取得プラン#12341で権限チェックが正しく行われない問題を修正
    • Limit演算子をIndexLookUpReader実行ロジック#12380に押し下げることで、 select ... limit ... offset …文の実行パフォーマンスを最適化します。
    • ORDER BY LIMIT OFFSET #12514 GROUP BY使用をサポート
    • パーティションテーブル上のIndexJoin誤った結果を返す問題を修正#12713
    • 日付文字列とフォーマット文字列が一致しない場合、TiDBのstr_to_date関数がMySQLとは異なる結果を返す問題を修正しました#12757
    • クエリ条件にcast関数が含まれている場合に外部結合が誤って内部結合に変換される問題を修正しました#12791
    • AntiSemiJoin #12800の結合条件で渡される誤った式を修正
  • SQL エンジン
    • 時間の丸め間違いを修正(例えば、 2019-09-11 11:17:47.999999666 2019-09-11 11:17:48に丸められるべき) #12259
    • PREPAREステートメントのsql_typeによる期間が監視レコード#12329に表示されない問題を修正しました。
    • from_unixtime関数が null #12572処理するときに発生するpanic問題を修正
    • YEAR型として無効な値が挿入されると、結果が0000 #12744ではなくNULLなるという互換性の問題を修正しました。
    • AutoIncrement列が暗黙的に割り当てられたときの動作を改善し、MySQL の自動増分ロックのデフォルトモードとの一貫性を保ちます ( 「連続」ロックモード ): 1 行のInsert文で複数のAutoIncrement ID を暗黙的に割り当てる場合、TiDB は割り当てられた値の連続性を保証します。この改善により、JDBC getGeneratedKeys()メソッドはどのようなシナリオでも正しい結果を得ることができます#12619
    • HashAgg Apply #12769の子ノードとして機能する場合にクエリがハングする問題を修正しました
    • 型変換#12813に関して、論理式ANDOR誤った結果を返す問題を修正
  • サーバ
    • SLEEP()関数がKILL TIDB QUERYステートメント#12159に対して無効であるという問題を修正しました
    • AUTO_INCREMENT MAX int64MAX uint64 #12210を誤って割り当てた場合にエラーが報告されない問題を修正しました
    • ログレベルがERROR #12373の場合にスロークエリログが記録されない問題を修正
    • TiDBがスキーマ変更とそれに対応する変更されたテーブル情報をキャッシュする回数を100から1024に調整し、 tidb_max_delta_schema_countシステム変数#12515使用して変更をサポートします。
    • SQL統計をより正確にするために、クエリの開始時間を「実行開始」から「コンパイル開始」に変更します#12638
    • TiDBログ#12568set session autocommitのレコードを追加する
    • プラン実行中にリセットされないように、SQLクエリの開始時刻をSessionVarsに記録する#12676
    • ORDER BY #12514 ? GROUP BYホルダーをサポートLIMIT OFFSET
    • 最後のステートメントがCOMMIT #12724ときに前のステートメントを出力するために、スロークエリログにPrev_stmtフィールドを追加します。
    • 明示的にコミットされたトランザクション#12747COMMIT失敗した場合、 COMMITの前の最後のステートメントをログに記録します。
    • TiDBサーバーがSQL文を実行する際の前回の文の保存方法を最適化してパフォーマンスを向上#12751
    • skip-grant-table=true構成#12816FLUSH PRIVILEGESステートメントによって発生するpanic問題を修正
    • 短時間に多数の書き込み要求がある場合にパフォーマンスのボトルネックを回避するために、AutoID を適用するデフォルトの最小ステップを1000から30000に増やします#12891
    • TiDBがパニックになったときに失敗したPreparedステートメントがエラーログに出力されない問題を修正しました#12954
    • スロークエリログのCOM_STMT_FETCH回限りのレコードがMySQL #12953のものと矛盾する問題を修正しました。
    • 書き込み競合のエラーメッセージにエラーコードを追加して、原因を素早く特定します#12878
  • DDL
    • デフォルトでは、列のAUTO INCREMENT属性の削除は許可されません。この属性を削除する必要がある場合は、 tidb_allow_remove_auto_inc変数の値を変更します。詳細についてはシステム変数参照してください#12146
    • Create Tableステートメント#12469で一意のインデックスを作成するときに複数のuniqueをサポートする
    • CREATE TABLEステートメントの外部キー制約にスキーマがない場合、 No Database selectedエラーを返す代わりに、作成されたテーブルのスキーマを使用する必要があるという互換性の問題を修正しました#12678
    • ADMIN CANCEL DDL JOBS #12681を実行するとinvalid list indexエラーが報告される問題を修正
  • モニター
    • バックオフ監視のタイプを追加し、コミット#12326のバックオフ時間など、これまで記録されていなかったバックオフ時間を補足します。
    • Add Index操作の進行状況を監視するための新しいメトリックを追加する#12389

PD

  • pd-ctl #1772--helpコマンド出力を改善する

ツール

  • TiDBBinlog
    • ALTER DATABASE関連する DDL 操作によりDrainerが異常終了する問題を修正#770
    • レプリケーション効率を向上させるために、コミットbinlogのトランザクション ステータス情報のクエリをサポートします#761
    • ドレイナーのstart_tsポンプの最大値commit_ts #759より大きい場合にPumppanicが発生する可能性がある問題を修正しました。

TiDB アンシブル

  • TiDB Binlog #952に「キュー サイズ」と「クエリ ヒストグラム」の 2 つの監視項目を追加します。
  • TiDBアラートルール#961を更新
  • 展開およびアップグレードの前に構成ファイルを確認する#973
  • TiDB #987のインデックス速度を監視するための新しいメトリックを追加します
  • TiDB Binlogモニタリングダッシュボードを更新して、Grafana v4.6.3 #993と互換性を持たせました。

このページは役に立ちましたか?