【社区智慧合集】TiDB 相关 SQL 脚本大全
作者: TiDB 社区小助手原文来源:https://tidb.net/blog/295c778f
简介:
来自社区,回归社区。非常感谢各位 TiDBer 在之前 【TiDBer 唠嗑茶话会 48】非正式 TiDB 相关 SQL 脚本征集大赛! 里提供的各种常用脚本。这篇专栏文章收集整理了大家推荐的 TiDB 相关 SQL 脚本大全。迎各位 TiDBer 持续补充更新~
1. 缓存表:
贡献者:@ShawnYan
2. TSO 时间转换:
贡献者: @我是咖啡哥
方法一:使用函数 TIDB_PARSE_TSO
方法二:使用 pd-ctl
3. 读取历史数据
贡献者: @我是咖啡哥
使用 AS OF TIMESTAMP 语法读取历史数据,可以通过以下三种方式使用 AS OF TIMESTAMP 语法:
SELECT … FROM … AS OF TIMESTAMPSTART TRANSACTION READ ONLY AS OF TIMESTAMPSET TRANSACTION READ ONLY AS OF TIMESTAMP
通过系统变量 tidb_read_staleness 读取历史数据
从 5 秒前至现在的时间范围内选择一个尽可能新的时间戳
通过系统变量 tidb_snapshot 读取历史数据
设置一个特殊的环境变量,这个是一个 session scope 的变量,其意义为读取这个时间之前的最新的一个版本
清空这个变量后,即可读取最新版本数据
4. 查询 tikv_gc_life_time 和 tikv_gc_safe_point 默认时长
贡献者: @TiDBer_m6V1BalM
5. 搜索某个用户的 TopN 慢查询
贡献者:@fanruinet
6. 统计间隔 5 分钟的数据
贡献者:@forever
7. 反解析 digest 成 SQL 文本
贡献者:@hey-hoho
8. 不涉及分区表用下面的方式查看表的使用情况:
贡献者:@xfworld
9. partition 表提供了分区表和非分区表的资源使用情况:
贡献者:@xfworld
10. 查询分析器中看配置文件参数:
贡献者:@Kongdom
SHOW CONFIG
语句用于展示 TiDB 各个组件当前正在应用的配置,请注意,配置与系统变量作用于不同维度,请不要混淆,如果希望获取系统变量信息,请使用 SHOW VARIABLES 语法。
11. 查找读流量排名前 10 的热点 region
贡献者: @BraveChen
12. 查看参数和变量的脚本
贡献者: @buddyyuan
还能用 grep 在过滤一次
13. 查找重复记录
贡献者:@ealam_ 小羽
14. 查询耗时最高的慢 sql
贡献者:@caiyfc
15. 日常维护用的最多的 SQL
贡献者:@tracy0984
16. 恢复数据(适用于 drop 与 truncate)
贡献者:@凌云 Cloud
17. 批量修改库名
贡献者:@TiDBer_dog
18. 高并发的场景下 获取 sql
贡献者:@jiawei
19. 查看 schema 下的表都有哪些
贡献者:@Ming
20. 查看表 leader
贡献者: @TiDBer_wTKU9jv6
select count(1),tss.ADDRESS from INFORMATION_SCHEMA.TIKV_REGION_PEERS trp,INFORMATION_SCHEMA.TIKV_REGION_STATUS trs,INFORMATION_SCHEMA.TIKV_STORE_STATUS tss where trp.STORE_ID=tss.STORE_ID and trp.REGION_ID=trs.REGION_ID and trs.DB_NAME=‘test’ and trs.TABLE_NAME=‘test’ and trp.IS_LEADER=1 group by tss.ADDRESS order by tss.ADDRESS;
21. shell 的调皮加速脚本
贡献者:@gcworkerishungry
22. 恢复数据到新的数据库
贡献者:@TiDBer_ 徐川
23. 开启 tiflash
贡献者:@TiDBer_pFFcXLgY
24. 表 region 分布语句:
贡献者:@秋枫之舞
25. 查看列的元数据
贡献者:@张雨齐 0720
26. 表的存储位置(store、peer 信息)
贡献者: @bert
27. 将集群升级到指定版本 ( 在线升级 ) :
贡献者:@TiDBer_ 杨龟干外公
例如升级到 v4.0.0 版本:tiup cluster upgrade tidb-test v4.0.0
28. 查询表大小
贡献者:@我是咖啡哥
29. 统计信息
贡献者:@我是咖啡哥
查看表的元数据
查看表的健康状态
Healthy 字段,一般小于等于 60 的表需要做 analyze
_name like ‘sbtest’ and table_name like ‘sbtest1’ ;
查看直方图信息
查看 analyze 状态
分析表、分区
30. 执行计划
贡献者:@我是咖啡哥
绑定执行计划
默认是 session 级别
使用 explain format = ‘verbose’ 语句查看 SQL 的执行计划
31. 查看 regions
贡献者:@我是咖啡哥
32. 统计读写热点表
贡献者:@我是咖啡哥
33. TiFlash
贡献者:@我是咖啡哥
34. admin 命令
贡献者:@我是咖啡哥
35. 修改隔离参数
贡献者:@我是咖啡哥
session 级别修改
Engine 隔离:默认:[“tikv”, “tidb”, “tiflash”]由于 TiDB Dashboard 等组件需要读取一些存储于 TiDB 内存表区的系统表,因此建议实例级别 engine 配置中始终加入 “tidb” engine。
手工 Hint
36. 排错 - 查看日志
贡献者:@我是咖啡哥
37. 查询所有节点所在 OS 的 CPU 当前使用率:
贡献者: @人如其名
输出示例:
说明:我这里所有类型组件只创建了有一个而且都在一个 os 上,所以只显示了一行。
38 . 清理 tidb 大量数据的脚本,实现删除百万级别以上的数据,而且不影响 tidb 正常使用
贡献者:@xingzhenxiang
感谢以上 TiDBer 们贡献的 SQL 脚本~记得点击收藏,可以随时在你的个人书签查看到~
ps: 如何收藏主题?
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/847513dd05b4a1c63e5a52618】。文章转载请联系作者。
评论