TiDB3.0ベータリリースノート

2019年1月19日、TiDB3.0ベータ版がリリースされました。対応するTiDBAnsible3.0ベータ版もリリースされています。 TiDB 3.0 Betaは、安定性、SQLオプティマイザー、統計、および実行エンジンに重点を置いたTiDB2.1に基づいて構築されています。

TiDB

  • 新機能
    • サポートビュー
    • ウィンドウ関数のサポート
    • 範囲分割をサポート
    • ハッシュ分割をサポートする
  • SQLオプティマイザー
    • #7676の最適化ルールを再サポートしAggregationElimination
    • NOT EXISTSのサブクエリを最適化し、それをアンチセミジョイン#7842に変換します
    • 新しいCascadesオプティマイザーをサポートするためにtidb_enable_cascades_plannerの変数を追加します。現在、Cascadesオプティマイザはまだ完全には実装されておらず、デフォルトでオフになっています#7879
    • トランザクションでのインデックス結合の使用のサポート#7877
    • 外部結合での定数伝播を最適化して、結合結果の外部テーブルに関連するフィルタリング条件を外部結合を介して外部テーブルにプッシュダウンできるようにします。これにより、外部結合の無駄な計算が減り、実行パフォーマンスが向上します#7794
    • 冗長なProject演算子を避けるために、射影除去の最適化ルールを集計除去後の位置に調整します#7909
    • IFNULL関数を最適化し、入力パラメーターにNULL以外の属性がある場合はこの関数を削除します#7924
    • 全表スキャンを回避し、クラスタのストレスを軽減するための_tidb_rowidの構築クエリのサポート範囲#8047
    • INのサブクエリを最適化して、集計後に内部結合を実行し、 tidb_opt_insubq_to_join_and_aggの変数を追加して、この最適化ルールを有効にしてデフォルトで開くかどうかを制御します#7531
    • DOステートメント#8343でのサブクエリの使用のサポート
    • 外部結合除去の最適化ルールを追加して、不要なテーブルスキャンと結合操作を減らし、実行パフォーマンスを向上させます#8021
    • TIDB_INLJオプティマイザーのヒントの動作を変更すると、オプティマイザーはヒントで指定されたテーブルをインデックス結合#8243の内部テーブルとして使用します。
    • Prepareステートメントの実行プランキャッシュが有効になるときに使用できるように、 PointGetを広範囲に使用します#8108
    • 複数のテーブルを結合するときに結合順序の選択を最適化するために、貪欲なJoin Reorderアルゴリズムを導入します#8394
    • サポートビュー#8757
    • サポートウィンドウ関数#8630
    • 使いやすさを向上させるために、 TIDB_INLJが有効でない場合は、クライアントに警告を返します#9037
    • フィルタリング条件とテーブル統計に基づいてフィルタリングされたデータの統計を推定することをサポート#7921
    • RangePartition1のPartitionPruning最適化ルールを改善し#8885
  • SQLエグゼキュータ
    • 空のON条件#9037をサポートするようにMerge Join演算子を最適化します
    • ログを最適化し、 EXECUTEステートメントの実行時に使用されるユーザー変数を出力します#7684
    • ログを最適化して、 COMMITステートメントの低速クエリ情報を出力します#7951
    • SQLチューニングプロセスを容易にするEXPLAIN ANALYZEつの機能をサポートする#7827
    • 多くの列を持つワイドテーブルの書き込みパフォーマンスを最適化する#7935
    • #8242 admin show next_row_id
    • tidb_init_chunk_size変数を追加して、実行エンジン#8480が使用する初期チャンクのサイズを制御します。
    • shard_row_id_bitsを改善し、自動インクリメント#8936をクロスチェックします
  • Prepareステートメント
    • 異なるユーザー変数が入力されたときにクエリプランが正しいことを保証するために、サブクエリを含むPrepareステートメントをクエリプランキャッシュに追加することを禁止します#8064
    • クエリプランキャッシュを最適化して、ステートメントに非決定論的関数が含まれている場合にプランをキャッシュできるようにします#8105
    • クエリプランのキャッシュを最適化して、 DELETE / UPDATE / INSERTのクエリプランをキャッシュできるようにします#8107
    • クエリプランキャッシュを最適化して、 DEALLOCATEステートメントを実行するときに対応するプランを削除します#8332
    • クエリプランのキャッシュを最適化して、メモリ使用量を制限することにより、あまりにも多くのプランをキャッシュすることによって引き起こされるTiDBOOMの問題を回避します#8339
    • Prepareステートメントを最適化してORDER BYGROUP BY? #8206ホルダーの使用をサポートしLIMIT
  • 権限管理
    • ANALYZEステートメントの特権チェックを追加します#8486
    • USEステートメントの特権チェックを追加します#8414
    • SET GLOBALステートメントの特権チェックを追加します#8837
    • SHOW PROCESSLISTステートメントの特権チェックを追加します#7858
  • サーバ
    • Traceつの機能をサポートする#9029
    • プラグインフレームワークをサポートする#8788
    • unix_socketとTCPを同時に使用してデータベースに接続することをサポートします#8836
    • interactive_timeoutのシステム変数#8573をサポートします
    • wait_timeoutのシステム変数#8346をサポートします
    • tidb_batch_commitの変数#8293を使用して、ステートメントの数に基づいてトランザクションを複数のトランザクションに分割することをサポートします。
    • 遅いログをチェックするためのADMIN SHOW SLOWステートメントの使用をサポート#7785
  • 互換性
    • ALLOW_INVALID_DATESモード#9027をサポートする
    • CSVファイルのLoadDataのフォールトトレランスを改善#9005
    • MySQL320ハンドシェイクプロトコルをサポートする#8812
    • 符号なしbigint列を自動インクリメント列#8181として使用することをサポート
    • SHOW CREATE DATABASE IF NOT EXISTS構文#8926をサポートします
    • フィルタリング条件にユーザー変数が含まれている場合は、述語プッシュダウン操作を破棄して、ユーザー変数を使用してウィンドウ関数の動作をモックするMySQLの動作との互換性を向上させます#8412
  • DDL
    • 誤って削除されたテーブルの高速リカバリをサポート#7937
    • ADD INDEXの同時実行数の動的な調整をサポート#8295
    • テーブルまたは#8037の文字セットのutf8への変更をutf8mb4
    • デフォルトの文字セットをutf8から#7965に変更しutf8mb4
    • サポート範囲パーティション#8011

ツール

  • TiDB Lightning
    • SQLステートメントからKVペアへの変換を大幅に高速化#110
    • 単一のテーブルのバッチインポートをサポートして、インポートのパフォーマンスと安定性を向上させます#113

PD

  • リージョンメタデータを個別に保存するには、 RegionStorageを追加します#1237
  • シャッフルホットリージョンスケジューラを追加する#1361
  • スケジューリングパラメータ関連のメトリックを追加する#1406
  • クラスタラベル関連のメトリックを追加する#1402
  • インポートするデータシミュレーターを追加する#1263
  • リーダー選出に関するWatchの問題を修正#1396

TiKV

  • 分散#3179をサポート
  • 書き込みストール#3606を回避するために、スナップショットを適用する前にRocksDBレベル0ファイルを確認してください
  • リバースraw_scanおよびraw_batch_scan#3742
  • HTTPを使用した監視情報の取得のサポート#3855
  • DSTをより適切にサポートする#3786
  • バッチ#3931でのRaftメッセージの送受信をサポート
  • 新しいストレージエンジン#3985を発表
  • gRPCをv1.17.2にアップグレードする#4023
  • バッチ#4043でのクライアント要求の受信と応答の送信をサポートします
  • マルチスレッド適用#4044をサポート
  • マルチスレッド#4066をサポート

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

Playground
新規
登録なしで TiDB の機能をワンストップでインタラクティブに体験できます。
製品
TiDB Cloud
TiDB
価格
PoC お問い合わせ
エコシステム
TiKV
TiFlash
OSS Insight
© 2024 PingCAP. All Rights Reserved.
Privacy Policy.