相信大家身为运维大师 & 程序大佬都有自己的一套备忘录,记录自己比较常用的一些脚本~现在!是时候!亮出家底了!
本期非正式脚本征集大赛,欢迎各位 TiDBer 来秀出自己压箱底的 TiDB 相关 SQL 脚本 有什么实用/便捷/强推的脚本,欢迎大家一起开秀~
大赛奖励: 上榜之后的 TiDB 社区 SQL 脚本大全 & 100积分~
本期话题:
SQL 脚本征集,欢迎各位 TiDBer 来秀出自己觉得实用/便捷/强推的 TiDB 相关 SQL 脚本~
举个栗子:来自 @我是咖啡哥
查看表的元数据
show stats_meta where db_name like ‘%sbtest%’;
活动奖励:
秀出自己推荐的 TiDB 相关 SQL 脚本的 TiDBer 即可获得100积分奖励~
活动时间:
2022.11.25-2022.12.02
waeng
(Ti D Ber Nv9 Ord6n)
2022 年11 月 25 日 12:40
3
show stats_healthy;
analyze table table-name;
muyubaby
(muyubaby)
2022 年11 月 25 日 14:38
4
show stats_meta where db_name like ‘%sbtest%’;
收藏
我是咖啡哥
2022 年11 月 26 日 00:22
6
手里没几个SQL,都不好意思说自己是DBA
来来来,欢迎大家补充、点赞、收藏。
TiDB常用SQL
查询表大小SELECT
t.TABLE_NAME,
t.TABLE_ROWS,
t.TABLE_TYPE,
round(t.DATA_LENGTH/1024/1024/1024,2) data_...
Likes: 0 ❤
我是咖啡哥
2022 年11 月 26 日 00:25
7
再补充一个:
TSO时间转换
方式一:使用函数TIDB_PARSE_TSO
SELECT TIDB_PARSE_TSO(437447897305317376);
+------------------------------------+
| TIDB_PARSE_TSO(437447897305317376) |
+------------------------------------+
| 2022-11-18 08:28:17.704000 |
+------------------------------------+
1 row in set (0.25 sec)
方法二:使用pd-ctl
~$ tiup ctl:v6.4.0 pd -i -u http://pdip:2379
Starting component `ctl`: /Users/xxx/.tiup/components/ctl/v6.4.0/ctl pd -i -u http://pdip:2379
» tso 437447897305317376
system: 2022-11-18 08:28:17.704 +0800 CST
logic: 0
Myth
(Myth)
2022 年11 月 26 日 00:26
8
purge binary logs to ‘binlog.xxxx’;
兜兜就是我
2022 年11 月 26 日 01:26
10
select VARIABLE_NAME, VARIABLE_VALUE from mysql.tidb where VARIABLE_NAME like “tikv_gc%”;
查询tikv_gc_life_time和tikv_gc_safe_point默认时长
jxgahxs
(Jxgahxs)
2022 年11 月 26 日 02:52
11
select VARIABLE_NAME, VARIABLE_VALUE from mysql.tidb where VARIABLE_NAME like “tikv_gc%”;
最常用的。
show create table 用的最多,我不是dba
搜索某个用户的TopN慢查询
select query_time,query,user
from information_schema.slow_query
where is_internal=false -- 排除 TiDB 内部的慢查询 SQL
and user = "user1" -- 查找的用户名
order by query_time desc
limit 2;
SELECT time,instance,left(message,150) FROM cluster_log WHERE message LIKE ‘%ddl%job%ID.80%’ AND type=‘tidb’
最近刚一直再用的,统计间隔5分钟的数据
SELECT concat(date_format(create_time,‘%Y-%m-%d %H:’),floor(date_format(create_time,‘%i’)/5)),count(*)
FROM jcxx
GROUP BY 1;
反解析digest成SQL文本
select tidb_decode_sql_digests(‘[“xxxxx”]’);
裤衩儿飞上天
2022 年11 月 26 日 12:06
17
show stats_healthy where table name=XXXX;
show stats_meta where table name=XXXX;
xfworld
(魔幻之翼)
2022 年11 月 26 日 12:15
18
贡献摘录
如果不涉及分区表用下面的方式查看表的使用情况:
select TABLE_SCHEMA,TABLE_NAME,TABLE_ROWS,
(DATA_LENGTH+INDEX_LENGTH)/1024/1024/1024 as table_size from tables order by table_size
desc limit 20;
另外partition表提供了分区表和非分区表的资源使用情况(我们使用分区表较多):
select TABLE_SCHEMA,TABLE_NAME,PARTITION_NAME,TABLE_ROWS,
(DATA_LENGTH+INDEX_LENGTH)/1024/1024/1024 as table_size from
information_schema.PARTITIONS order by table_size desc limit 20;
Kongdom
(Kongdom)
2022 年11 月 26 日 13:37
19
在查询分析器中看配置文件参数:show config
SHOW CONFIG
语句用于展示 TiDB 各个组件当前正在应用的配置,请注意,配置与系统变量作用于不同维度,请不要混淆,如果希望获取系统变量信息,请使用 SHOW VARIABLES 语法。
#查找读流量排名前10的热点region
SELECT DISTINCT region_id FROM INFORMATION_SCHEMA.tikv_region_status WHERE ORDER BY READ_BYTES DESC limit 10