暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

tidb部分优化参数以及使用总结

济南小老虎 2024-06-19
379

背景

最近处理了一些tidb的相关知识

记录的总是各处都有, 所以想着能够通过一个地方能够总结一下.

来源都是网上,主要是做备份


tiup修改的参数

tidb:
mem-quota-query: 14294967296
config:
sync-log: flase

- host: 192.168.xx.xx
ssh_port: 22
port: 4000
status_port: 10080
deploy_dir: /deploy/tidb/tidb-4000
log_dir: /deploy/tidb/tidb-4000/log
config:
storage.block-cache.capacity: 96GB
raftstore.region-max-sze: 384MB
raftstore.region-split-size: 96MB
rocksdb.defaultcf.max-write-buffer-number: 10
raftstore.region-split-check-diff: 32MB
sync-log: flase
arch: amd64
os: linux

需要注意 修改命名为:
tiup cluster edit-config tidbname

然后 使用vim 的方式进行修改 :wq 进行保存
注意一定不要多输入字符, 然后输入 y 进行保存
tiup会自动进行语法语义检查通过的话才可以

然后使用 tiup cluster reload tidbname -N ip:port
或者是 tiup cluster reload tidbname -R tidb
方式进行重启.


数据库级别的参数修改

create table t (a int, b int)SHARD_ROW_ID_BITS=4 PRE_SPLIT_REGIONS=3
alter table t1 cache;
# 创建表时指定表的参数, 可以提高一定的速度.
需要注意 tikv 数量越多,理论上 region的分布越好.性能越高.

处理部分参数 提高性能.

SET GLOBAL tidb_ignore_prepared_cache_close_stmt=on;
SET GLOBAL tidb_enable_fast_analyze=1 ;
SET GLOBAL tidb_rc_read_check_ts=on ;
SET config pd `replication.max-replicas`=1;
SET config tikv `txn-local-latches`=false;
SET GLOBAL tidb_auto_analyze_start_time='01:00 +0000' ;
SET GLOBAL tidb_auto_analyze_end_time='03:00 +0000' ;
SET config tikv `log.level` = 'CRITICAL';
SET config pd `log.level` = 'error';
SET GLOBAL sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
SET GLOBAL tidb_server_memory_limit = "64GB";
SET GLOBAL tidb_mem_quota_query = 12 << 30;

可以查看SQL的mode
select @@sql_mode ;


tiflash的处理

ALTER TABLE sometable SET TIFLASH REPLICA 1 ;
# 设置tiflash的副本, 可以使用 列存数据库的加速
select @@tidb_isolation_read_engines;
# 查看 引擎 一般有 tikv 和tiflash
# 可以通过如下语句进行session级的切换验证.
SET SESSION tidb_isolation_read_engines = tikv ;
SET SESSION tidb_isolation_read_engines = tiflash ;


导入导出csv文件

select * from sometable into outfile '/POC/sometable.csv' fields terminated by ","  escaped by '' optionally enclosed  by ''   lines terminated by '\n' ;
LOAD DATA LOCAL INFILE '/POC/sometable.csv' INTO TABLE sometable FIELDS TERMINATED BY ',' ;


表以及数据库大小查看

# 查看数据库大小
SELECT
TABLE_SCHEMA AS 数据库名,
sum( AVG_ROW_LENGTH * TABLE_ROWS )/ 1024 1024 1024 AS 数据库大小GB
FROM
information_schema.TABLES
GROUP BY
TABLE_SCHEMA
ORDER BY
2 DESC;

# 查看数据表大小
SELECT
table_name,
sum( AVG_ROW_LENGTH * TABLE_ROWS )/ 1024 1024 1024 AS 数据表大小GB
FROM
information_schema.TABLES
WHERE
table_name IN ( 'table1', 'table2')
GROUP BY
table_name
ORDER BY
2 desc


文章转载自济南小老虎,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论