函数
- TiDB表达式中的函数
- 使用函数
- 函数类型
- 字符串函数
- 大小写转换
- 比较字符串
- 在字符串中查找字符串
- 逆向、连接
- 处理Null
- 使用管道运算符连接字符串
- left,right,lpad,rpad
- substring 检索字符串的一部分
- substring_index
- trim,ltrim,rtrim: 修剪字符串
- 插入和替换字符串中的某些部分
- 确定字符串长度
- 匹配字符串模式: like
- 匹配字符串模式: rlike
- 日期与时间函数
- 日期和时间格式
- 日期和时间函数
- 日期和时间算术
- 将日期格式转化为字符串
- 创建日期
- 比较日期
- 基本算术函数
- Group by分组
- 窗口函数
- Flow Control 函数
- case表达式
- NULLIF 和IFNULL
- IF函数
- 表达式下推
TiDB表达式中的函数
- 函数对输入的数据进行计算
- 函数的返回值可以作为表达式一部分
- 语法: function_name([arg1 [, arg2 ,… , argn ]])
- 示例
- now(): 返回当前日期和时间
- version(): 返回当前TiDB服务器版本
使用函数
- 函数可以在任何接受表达式的地方使用
- 大多数函数都需要参数才能执行
- 列可以用作参数
- 一个函数的输出可以用作另一个函数的输入
- 数学函数在出错时返回Null值
- 例如 在 error_for_division_by_zero SQL模式下,会报错
mysql> insert into test01 values(8/0);
ERROR 1365 (22012): Division by 0
mysql> select 8/0;
+------+
| 8/0 |
+------+
| NULL |
+------+
1 row in set, 1 warning (0.00 sec)
mysql> select @@SQL_MODE;
+-------------------------------------------------------------------------------------------------------------------------------------------+
| @@SQL_MODE |
+-------------------------------------------------------------------------------------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+-------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
函数类型
- 字符串:对字符串的操作
- 日期和时间:对日期和时间的操作
- 数值:数学运算
- 聚合:基于输入的多条记录返回单条记录
- 窗口:返回分区计算的结果集
字符串函数
- 计算字符串长度
- 提取子字符串
- 搜索或替换子字符串
- 大小写转换
- 转换位字符串或者数值
大小写转换
lower()/lcase(),upper()/ucase: 返回字符串,结果改为小写或大写。
mysql> select lower('TiDB'),lcase('TiDB'),upper('TiDB'),ucase('TiDB');
+---------------+---------------+---------------+---------------+
| lower('TiDB') | lcase('TiDB') | upper('TiDB') | ucase('TiDB') |
+---------------+---------------+---------------+---------------+
| tidb | tidb | TIDB | TIDB |
+---------------+---------------+---------------+---------------+
1 row in set (0.01 sec)
比较字符串
- strcmp(): 比较str1和str2
- 返回值:
- 0 表示str1和str2 是相同
- -1 表示str1 小于str2
- 1 表示str1 大于str2
- =: 测试字符串是否相等
mysql> select strcmp('aBC','Abc'),strcmp('ABC','ABC'),strcmp('Abc','aBC'),'ABC'='ABC';
+---------------------+---------------------+---------------------+-------------+
| strcmp('aBC','Abc') | strcmp('ABC','ABC') | strcmp('Abc','aBC') | 'ABC'='ABC' |
+---------------------+---------------------+---------------------+-------------+
| 1 | 0 | -1 | 1 |
+---------------------+---------------------+---------------------+-------------+
1 row in set (0.01 sec)
在字符串中查找字符串
- insert(),locate(),position(): 返回指定字符串在另一个字符串中的位置
- locate(searchStr,str,pos): 其中pos指定搜索的起始位置
mysql> select instr('TiDB','DB'),instr('TiDB','D'),locate('DB','TiDB'),position('DB' in 'TiDB');
+--------------------+-------------------+---------------------+--------------------------+
| instr('TiDB','DB') | instr('TiDB','D') | locate('DB','TiDB') | position('DB' in 'TiDB') |
+--------------------+-------------------+---------------------+--------------------------+
| 3 | 3 | 3 | 3 |
+--------------------+-------------------+---------------------+--------------------------+
1 row in set (0.00 sec)
mysql> select locate('DB','TiDB is a NewSQL style DB',7);
+--------------------+-------------------+---------------------+--------------------------+
| 24 |
+--------------------+-------------------+---------------------+--------------------------+
1 row in set (0.00 sec)
逆向、连接
- concat(),concat_ws() :将给定的参数连接成一个字符串
- reverse() : 返回字符串,字符的顺序相反
mysql> select reverse('abcdefg') , concat('hello','world'),concat_ws(':','pingcap','cmg','pe');
+--------------------+-------------------------+-------------------------------------+
| reverse('abcdefg') | concat('hello','world') | concat_ws(':','pingcap','cmg','pe') |
+--------------------+-------------------------+-------------------------------------+
| gfedcba | helloworld | pingcap:cmg:pe |
+--------------------+-------------------------+-------------------------------------+
1 row in set (0.00 sec)
处理Null
- 传递Null到concat函数,导致它返回null
- concat_ws() 忽略null参数
mysql> select concat('welcome ','to ',null),concat_ws(',','welcome','to',null);
+-------------------------------+------------------------------------+
| concat('welcome ','to ',null) | concat_ws(',','welcome','to',null) |
+-------------------------------+------------------------------------+
| NULL | welcome,to |
+-------------------------------+------------------------------------+
1 row in set (0.00 sec)
使用管道运算符连接字符串
mysql> set sql_mode=pipes_as_concat;
Query OK, 0 rows affected (0.00 sec)
mysql> select 'welcome '|| ' to '||'TiDB!';
+------------------------------+
| 'welcome '|| ' to '||'TiDB!' |
+------------------------------+
| welcome to TiDB! |
+------------------------------+
1 row in set (0.00 sec)
left,right,lpad,rpad
left(str,numchar),right(str,numchar): 返回字符串中最左边或最右边的numchar字符
lpad(str,len,padstr),rpad(str,len,padstr): 返回一个在左侧或右侧填充有padstr的字符串,长度不超过len个字符
例如:
mysql> select left('TSO',1),right('TSO',2),lpad('TSO',4,'#'),rpad('TSO',4,'#');
+---------------+----------------+-------------------+-------------------+
| left('TSO',1) | right('TSO',2) | lpad('TSO',4,'#') | rpad('TSO',4,'#') |
+---------------+----------------+-------------------+-------------------+
| T | SO | #TSO | TSO# |
+---------------+----------------+-------------------+-------------------+
1 row in set (0.01 sec)
substring 检索字符串的一部分
substring(string,startpos [,length]): 返回一个子字符串,其长度不超过字符的起始于startpos
如果省略length,则子字符串将包括结尾的所有字符
如果startpos 为负数,则子字符串返回从末尾开始
mysql> select substring('TiDB SQL',2),substring('TiDB SQL',1,2),substring('TiDB SQL',-2,2);
+-------------------------+---------------------------+----------------------------+
| substring('TiDB SQL',2) | substring('TiDB SQL',1,2) | substring('TiDB SQL',-2,2) |
+-------------------------+---------------------------+----------------------------+
| iDB SQL | Ti | QL |
+-------------------------+---------------------------+----------------------------+
1 row in set (0.00 sec)
substring_index
返回分隔符出现次数count之前的字符串中的子字符串,如果count为负数,则方向反转
mysql> select substring_index('853:888:777:598',':',1),substring_index('853:888:777:598',':',2),substring_index('853:888:777:598',':',-2) \G;
*************************** 1. row ***************************
substring_index('853:888:777:598',':',1): 853
substring_index('853:888:777:598',':',2): 853:888
substring_index('853:888:777:598',':',-2): 777:598
1 row in set (0.00 sec)
ERROR:
No query specified
trim,ltrim,rtrim: 修剪字符串
trim([BOTH|LEADING|TRAILING [substring] FROM] string)
返回substring 移除后的字符串
如果未指定both,leading trailing 选项,默认为both
如果substring 省略,空格将被删除
ltrim(),rtrim(),trim(): 可以删除出现在左侧、右侧或两侧的空格字符
mysql> select trim(leading 'Ti' from 'Tidb'),ltrim(' TiDB'),'#'||trim(' TiKV ')||'#';
+--------------------------------+----------------+----------------------------+
| trim(leading 'Ti' from 'Tidb') | ltrim(' TiDB') | '#'||trim(' TiKV ')||'#' |
+--------------------------------+----------------+----------------------------+
| db | TiDB | 0 |
+--------------------------------+----------------+----------------------------+
1 row in set, 3 warnings (0.00 sec)
mysql> set @@sql_mode=ORACLE;
Query OK, 0 rows affected (0.00 sec)
mysql> select trim(leading 'Ti' from 'Tidb'),ltrim(' TiDB'),'#'||trim(' TiKV ')||'#';
+--------------------------------+----------------+----------------------------+
| trim(leading 'Ti' from 'Tidb') | ltrim(' TiDB') | '#'||trim(' TiKV ')||'#' |
+--------------------------------+----------------+----------------------------+
| db | TiDB | #TiKV# |
+--------------------------------+----------------+----------------------------+
1 row in set (0.00 sec)
mysql> select trim(leading 'Ti' from 'TidbTi');
+----------------------------------+
| trim(leading 'Ti' from 'TidbTi') |
+----------------------------------+
| dbTi |
+----------------------------------+
1 row in set (0.00 sec)
mysql> select trim(trailing 'Ti' from 'TidbTi');
+-----------------------------------+
| trim(trailing 'Ti' from 'TidbTi') |
+-----------------------------------+
| Tidb |
+-----------------------------------+
1 row in set (0.00 sec)
mysql> select trim(both 'Ti' from 'TidbTi');
+-------------------------------+
| trim(both 'Ti' from 'TidbTi') |
+-------------------------------+
| db |
+-------------------------------+
1 row in set (0.00 sec)
插入和替换字符串中的某些部分
replace (str,substr,newstring) : 将str中的substr替换为新字符串
insert(str,pos,len,newstring): 在str中pos处放置新字符串,覆盖len长度字符
mysql> select replace('Use K8s to setup','K8s','tiup'),insert('Use OGG to migrate',5,3,'dumpling and Lightning');
+------------------------------------------+-----------------------------------------------------------+
| replace('Use K8s to setup','K8s','tiup') | insert('Use OGG to migrate',5,3,'dumpling and Lightning') |
+------------------------------------------+-----------------------------------------------------------+
| Use tiup to setup | Use dumpling and Lightning to migrate |
+------------------------------------------+-----------------------------------------------------------+
1 row in set (0.01 sec)
确定字符串长度
length() : 以字节为单位返回字符串长度
char_length(): 返回字符串长度(以字符为单位)
mysql> select length('TiDB 部署中'),char_length('TiDB 部署中');
+--------------------------+-------------------------------+
| length('TiDB 部署中') | char_length('TiDB 部署中') |
+--------------------------+-------------------------------+
| 14 | 8 |
+--------------------------+-------------------------------+
1 row in set (0.00 sec)
匹配字符串模式: like
使用like 运算符匹配字符串
expression like ‘pattern’
在模式中使用通配符
%: 匹配任何零个或多个字符的序列
_: 匹配任何单个字符
not like: 用于反向匹配
匹配字符串模式: rlike
正则表达式是复杂搜索指定模式的强大方法
rlike,regxp 运算符: expression rlike | regxp ‘regexp-pattern’
\ 作为转义字符
() 对多个正则表达式元素进行分组
^:字符串的开头
$:字符串的结尾
.:任何单个字符
x*:零个或更多x
x+:一个或多个x
x?:零个或一个x
示例
Los|Las, L[oa]s: 表达式等价
^[A-HJ-NP-Z][0-9]{4}([A-Z]{3})?$
mysql> select name,mass from universe.planets where name rlike '(Ura|Ve)nus';
+--------+------+
| name | mass |
+--------+------+
| Venus | 4.87 |
| Uranus | 86.8 |
+--------+------+
2 rows in set (0.00 sec)
日期与时间函数
执行类似以下操作
提取部分日期和时间
更改格式
转换
可以通过多种方式生成日期和时间数据
复制现有数据
使用内置函数
构建字符串表示形式,使TiDb评估为日期与时间
日期和时间格式
日期类型 | 默认格式 |
date | yyyy-mm-dd |
time | hh:mm:ss |
datetime | yyyy-mm-dd hh:mm:ss |
timestamp | yyyy-mm-dd hh:mm:ss |
year | yyyy |
日期和时间函数
now(): 服务器上的当前日期时间,返回datetime
curdate(): 服务器上的当前日期,返回date
curtime(): 当前服务器上的时间,返回time
year(): 年份year格式
monthname(): 一年中的月份
dayname(): 一周总的某天
dayofyear(): 一年中的某天
hour(),minute(),second(),microsecond()
mysql> select now(),curdate(),curtime(),year(now()),dayname(now());
+---------------------+------------+-----------+-------------+----------------+
| now() | curdate() | curtime() | year(now()) | dayname(now()) |
+---------------------+------------+-----------+-------------+----------------+
| 2023-06-05 18:38:10 | 2023-06-05 | 18:38:10 | 2023 | Monday |
+---------------------+------------+-----------+-------------+----------------+
1 row in set (0.00 sec)
日期和时间算术
date_add,date_sub
+/- interval
mysql> select now() + interval '1 12:12:12.123456' DAY_MICROSECOND,now() + interval '12.123456' SECOND_MICROSECOND,now() - interval '1-3' YEAR_MONTH, date_add(now(), interval 1 week),date_sub(now(),interval 1 week),date_sub(now(),interval 1 quarter);
+------------------------------------------------------+-------------------------------------------------+-----------------------------------+----------------------------------+---------------------------------+------------------------------------+
| now() + interval '1 12:12:12.123456' DAY_MICROSECOND | now() + interval '12.123456' SECOND_MICROSECOND | now() - interval '1-3' YEAR_MONTH | date_add(now(), interval 1 week) | date_sub(now(),interval 1 week) | date_sub(now(),interval 1 quarter) |
+------------------------------------------------------+-------------------------------------------------+-----------------------------------+----------------------------------+---------------------------------+------------------------------------+
| 2023-06-07 06:56:21.123456 | 2023-06-05 18:44:21.123456 | 2022-03-05 18:44:09 | 2023-06-12 18:44:09 | 2023-05-29 18:44:09 | 2023-03-05 18:44:09 |
+------------------------------------------------------+-------------------------------------------------+-----------------------------------+----------------------------------+---------------------------------+------------------------------------+
1 row in set (0.03 sec)
将日期格式转化为字符串
date_format()
http://dev.mysql.com/doc/mysql/en/date-and-time-functions.html#function_date-format get_format()
例如get_format({date|time|datetime},{‘EUR’,’USA’,’JIS’,’ISO’,’INTERNAL’})
mysql> select date_format(now(),'%a %Y-%m-%d %T'),date_format(now(),'%Y-%m-%d %r'),date_format(now(),'%W,%M %e, %Y'),date_format(now(),'%a, %b %e %l:%i %p'),date_format(now(),'%d-%b-%Y'),date_format(now(),'%a, %b %e ,%Y'),date_format(now(),'%M %e,%Y %H:%i'),date_format(now(),'%W ,the %D of %M') \G;
*************************** 1. row ***************************
date_format(now(),'%a %Y-%m-%d %T'): Mon 2023-06-05 18:51:58
date_format(now(),'%Y-%m-%d %r'): 2023-06-05 06:51:58 PM
date_format(now(),'%W,%M %e, %Y'): Monday,June 5, 2023
date_format(now(),'%a, %b %e %l:%i %p'): Mon, Jun 5 6:51 PM
date_format(now(),'%d-%b-%Y'): 05-Jun-2023
date_format(now(),'%a, %b %e ,%Y'): Mon, Jun 5 ,2023
date_format(now(),'%M %e,%Y %H:%i'): June 5,2023 18:51
date_format(now(),'%W ,the %D of %M'): Monday ,the 5th of June
1 row in set (0.00 sec)
ERROR:
No query specified
创建日期
makedate(year,dayofyear) : 创建date
maketime(hour,min,sec): 创建time
str_to_date(str,fmt): 创建datetime
日期字面值
mysql> select get_format(DATE,'INTERNAL'),get_format(TIME,'INTERNAL'),get_format(DATETIME,'INTERNAL'),makedate(2023,101),maketime(12,23,54) \G;
*************************** 1. row ***************************
get_format(DATE,'INTERNAL'): %Y%m%d
get_format(TIME,'INTERNAL'): %H%i%s
get_format(DATETIME,'INTERNAL'): %Y%m%d%H%i%s
makedate(2023,101): 2023-04-11
maketime(12,23,54): 12:23:54
1 row in set (0.01 sec)
ERROR:
No query specified
比较日期
datediff(now(),‘2023-01-01’) : 返回两个日期之间的天数
mysql> select datediff(now(),'2023-01-01'),datediff('2023-01-01',now());
+------------------------------+------------------------------+
| datediff(now(),'2023-01-01') | datediff('2023-01-01',now()) |
+------------------------------+------------------------------+
| 179 | -179 |
+------------------------------+------------------------------+
1 row in set (0.00 sec)
基本算术函数
mysql> select abs(-234.5),sign(-6),floor(343.543),ceiling(2343.34),truncate(343.4543,3),truncate(343.4543,-1),round(343.4543),round(343.4543,2),round(343.4543,-2);
+-------------+----------+----------------+------------------+----------------------+-----------------------+-----------------+-------------------+--------------------+
| abs(-234.5) | sign(-6) | floor(343.543) | ceiling(2343.34) | truncate(343.4543,3) | truncate(343.4543,-1) | round(343.4543) | round(343.4543,2) | round(343.4543,-2) |
+-------------+----------+----------------+------------------+----------------------+-----------------------+-----------------+-------------------+--------------------+
| 234.5 | -1 | 343 | 2344 | 343.454 | 340 | 343 | 343.45 | 300 |
+-------------+----------+----------------+------------------+----------------------+-----------------------+-----------------+-------------------+--------------------+
1 row in set (0.01 sec)
Group by分组
将行记录分组
only_full_group_by :如果出现在select列表欧中的列,并且有在group by或聚合函数中出现,则SQL不合法
窗口函数
- 窗口函数为结果集中的每个输入的记录计算输出,rank排名
- 除了示例中的RANK(),TiDB支持的窗口函数还有:
cume_dist(),dense_rank(),first_value(),lag(),last_value(),lead(),nth_value(),ntitle(),percent_rank(),row_number()
rank: 排名
mysql> select name,mass,gravity,rank() over (partition by category_id order by mass desc) as mass_rank_within_category from universe.planets;
+--------------------+--------+---------+---------------------------+
| name | mass | gravity | mass_rank_within_category |
+--------------------+--------+---------+---------------------------+
| Proxima Centauri b | 7.5819 | 11.3 | 1 |
| Earth | 5.97 | 9.8 | 2 |
| Venus | 4.87 | 8.9 | 3 |
| Mars | 0.642 | 3.7 | 4 |
| Mercury | 0.33 | 3.7 | 5 |
| Pluto | 0.013 | 0.7 | 1 |
| Jupiter | 1898 | 23.1 | 1 |
| Saturn | 568 | 9.0 | 2 |
| Neptune | 102 | 11.0 | 3 |
| Uranus | 86.8 | 8.7 | 4 |
+--------------------+--------+---------+---------------------------+
10 rows in set (0.00 sec)
lag: 显示上一行
mysql> select name,mass,lag(name,1,'---') over (order by mass) from universe.planets order by mass;
+--------------------+--------+----------------------------------------+
| name | mass | lag(name,1,'---') over (order by mass) |
+--------------------+--------+----------------------------------------+
| Pluto | 0.013 | --- |
| Mercury | 0.33 | Pluto |
| Mars | 0.642 | Mercury |
| Venus | 4.87 | Mars |
| Earth | 5.97 | Venus |
| Proxima Centauri b | 7.5819 | Earth |
| Uranus | 86.8 | Proxima Centauri b |
| Neptune | 102 | Uranus |
| Saturn | 568 | Neptune |
| Jupiter | 1898 | Saturn |
+--------------------+--------+----------------------------------------+
10 rows in set (0.01 sec)
显示上两行
mysql> select name,mass,lag(name,2,'---') over (order by mass) from universe.planets order by mass;
+--------------------+--------+----------------------------------------+
| name | mass | lag(name,2,'---') over (order by mass) |
+--------------------+--------+----------------------------------------+
| Pluto | 0.013 | --- |
| Mercury | 0.33 | --- |
| Mars | 0.642 | Pluto |
| Venus | 4.87 | Mercury |
| Earth | 5.97 | Mars |
| Proxima Centauri b | 7.5819 | Venus |
| Uranus | 86.8 | Earth |
| Neptune | 102 | Proxima Centauri b |
| Saturn | 568 | Uranus |
| Jupiter | 1898 | Neptune |
+--------------------+--------+----------------------------------------+
10 rows in set (0.02 sec)
lead :显示下一行
mysql> select name,mass,lead(name,1,'---') over (order by mass) from universe.planets order by mass;
+--------------------+--------+-----------------------------------------+
| name | mass | lead(name,1,'---') over (order by mass) |
+--------------------+--------+-----------------------------------------+
| Pluto | 0.013 | Mercury |
| Mercury | 0.33 | Mars |
| Mars | 0.642 | Venus |
| Venus | 4.87 | Earth |
| Earth | 5.97 | Proxima Centauri b |
| Proxima Centauri b | 7.5819 | Uranus |
| Uranus | 86.8 | Neptune |
| Neptune | 102 | Saturn |
| Saturn | 568 | Jupiter |
| Jupiter | 1898 | --- |
+--------------------+--------+-----------------------------------------+
10 rows in set (0.01 sec)
Flow Control 函数
- Case 表达式
- nullif () 函数
- ifnull () 函数
- if() 函数
case表达式
mysql> select case when null='' then true when null <>'' then false else'=)' end;
+--------------------------------------------------------------------+
| case when null='' then true when null <>'' then false else'=)' end |
+--------------------------------------------------------------------+
| =) |
+--------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> select null<>'';
+----------+
| null<>'' |
+----------+
| NULL |
+----------+
1 row in set (0.00 sec)
mysql> select case null when '' then true when 0 then false else '=)' end;
+-------------------------------------------------------------+
| case null when '' then true when 0 then false else '=)' end |
+-------------------------------------------------------------+
| =) |
+-------------------------------------------------------------+
1 row in set (0.00 sec)
NULLIF 和IFNULL
- nullif(expr1,expr2): 测试expr1 和 expr2 是否相等
- ifnull(expr1,expr2): 返回第一个非空 expr
mysql> select nullif('A','A'),nullif('A','B');
+-----------------+-----------------+
| nullif('A','A') | nullif('A','B') |
+-----------------+-----------------+
| NULL | A |
+-----------------+-----------------+
1 row in set (0.01 sec)
mysql> select ifnull('A','B'),ifnull(17/0,'A');
+-----------------+------------------+
| ifnull('A','B') | ifnull(17/0,'A') |
+-----------------+------------------+
| A | A |
+-----------------+------------------+
1 row in set, 1 warning (0.01 sec)
IF函数
-if(cond,then_return,else_return)
mysql> select if('ABC'>'aBC','+++','---');
+-----------------------------+
| if('ABC'>'aBC','+++','---') |
+-----------------------------+
| --- |
+-----------------------------+
1 row in set (0.00 sec)
表达式下推
- 当TiDB从TiKV中读取数据的时候,TiDB会尽量下推一些表达式运算到TiKV中 ,从而减少数据量传输量以及TiDB单一节点的计算压力
- 逻辑运算符: and ,&&,or,||,not,!
- 比较运算符:< <= = != <> > >= <=> in , is null,like,is true, is false, coalesce()
- 数值运算: + - * / abs() ceil() ceiling() floor()
- 控制流运算:case if() ifnull()
- 日期运算: date_format()
- …
- 通过观察执行计划中任务字段的task.cop[tikv] 来确定运算是否支持表达式下推
# 出现cop[tikv] 就表示下推
mysql> explain select name,mass from universe.planets where name like 'M%';
+-------------------------------+---------+-----------+---------------------------------+-------------------------------------------------+
| id | estRows | task | access object | operator info |
+-------------------------------+---------+-----------+---------------------------------+-------------------------------------------------+
| IndexLookUp_10 | 0.25 | root | | |
| ├─IndexRangeScan_8(Build) | 0.25 | cop[tikv] | table:planets, index:name(name) | range:["M","N"), keep order:false, stats:pseudo |
| └─TableRowIDScan_9(Probe) | 0.25 | cop[tikv] | table:planets | keep order:false, stats:pseudo |
+-------------------------------+---------+-----------+---------------------------------+-------------------------------------------------+
3 rows in set (0.00 sec)