📣
TiDB Cloud Premium はパブリックプレビュー中です。エンタープライズワークロード向けの無制限のスケーリング、即時の弾力性、高度なセキュリティを提供します。このページは自動翻訳されたものです。原文はこちらからご覧ください。

プッシュダウンの式のリスト



TiDB は TiKV からデータを読み取る際に、処理するいくつかの式 (関数や演算子の計算を含む) を TiKV にプッシュダウンしようとします。これにより、転送されるデータの量が削減され、単一の TiDB ノードから処理がオフロードされます。このドキュメントでは、TiDB がすでにプッシュダウンをサポートしている式と、ブロックリストを使用して特定の式のプッシュダウンを禁止する方法を紹介します。

TiFlash は関数と演算子のプッシュダウンもサポートしていますこのページに記載されている

注記:

Aggregate関数は、 ウィンドウ関数として使用される場合、 TiKV へのプッシュダウンをサポートしません。

TiKVへのプッシュダウンでサポートされている式

表現タイプオペレーション
論理演算子AND (&&)、OR (
ビット演算子 [
比較関数と演算子< <= = != (<>) > >= <=> BETWEEN COALESCE() IN() INTERVAL() IS NOT NULL IS NOT IS NULL IS ISNULL() LIKE NOT BETWEEN NOT IN() NOT LIKE STRCMP()
数値関数と演算子+ - * / DIV % (MOD) - ABS() ACOS() ASIN() ATAN() ATAN2()、ATAN() CEIL() CEILING() CONV() COS() COT() CRC32() DEGREES() EXP() FLOOR() LN() LOG() LOG10() LOG2()MOD()PI()POW()POWER()RADIANS()RAND()ROUND()SIGN()SIN()SQRT()
制御フロー関数CASE IF() IFNULL()
JSON関数JSON_ARRAY([val[, val] ...]) ,
JSON_CONTAINS(ターゲット、候補[、パス])
JSON_EXTRACT(json_doc, パス[, パス] ...)
JSON_INSERT(json_doc、パス、val[、パス、val]...)
JSON_LENGTH(json_doc[, パス])
JSON_MERGE(json_doc、json_doc[、json_doc]...)
JSON_OBJECT([キー、値[、キー、値] ...])
JSON_REMOVE(json_doc, パス[, パス] ...)
JSON_SET(json_doc、パス、val[、パス、val]...)
JSON_TYPE(json_val)
JSON_UNQUOTE(json_val) ,
JSON_VALID(値)
値 MEMBER OF(json_array)
日付と時刻関数DATE() DATE_FORMAT() DATEDIFF() DAYOFMONTH() DAYOFWEEK() DAYOFYEAR() FROM_DAYS() HOUR() MAKEDATE() MAKETIME() MICROSECOND() MINUTE() MONTH() MONTHNAME() PERIOD_ADD() PERIOD_DIFF() SEC_TO_TIME() SECOND() SYSDATE() TIME_TO_SEC() TIMEDIFF() WEEK() WEEKOFYEAR() YEAR()
文字列関数ASCII() BIT_LENGTH() CHAR() CHAR_LENGTH() CONCAT() CONCAT_WS() ELT() FIELD() HEX() LENGTH() LIKE LOWER() LTRIM() MID() NOT LIKE NOT REGEXP REGEXP REGEXP_INSTR() REGEXP_LIKE() REGEXP_REPLACE() REGEXP_SUBSTR() REPLACE() REVERSE() RIGHT() RLIKE RTRIM() SPACE() STRCMP() SUBSTR() SUBSTRING() UPPER()
集計関数COUNT()COUNT(DISTINCT)SUM()AVG()MAX()MIN()VARIANCE()VAR_POP()STD()STDDEV()STDDEV_POPVAR_SAMP()STDDEV_SAMP()JSON_ARRAYAGG(キー)JSON_OBJECTAGG(キー、値)
暗号化と圧縮関数MD5() SHA1()、SHA() UNCOMPRESSED_LENGTH()
キャスト関数と演算子CAST() , CONVERT()
その他の関数UUID()
ウィンドウ関数なし

ブロックリストの特定の表現

サポートされている表現または特定のデータ型( ENUMBITタイプのみ)をプッシュダウンしたときに計算処理で予期しない動作が発生する場合は、該当する関数、演算子、またはデータ型のプッシュダウンを禁止することで、アプリケーションを迅速に復旧できます。具体的には、関数、演算子、またはデータ型をブロックリストmysql.expr_pushdown_blacklistに追加することで、プッシュダウンを禁止できます。詳細については、 ブロックリストに追加を参照してください。

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