首页 > 其他分享 >tidb 小表缓存

tidb 小表缓存

时间:2022-08-25 10:45:49浏览次数:65  
标签:缓存 小表 DEFAULT cache tidb table NULL

TiDB 在 v6.0.0 版本中引入了缓存表功能。该功能适用于频繁被访问且很少被修改的热点小表,即把整张表的数据加载到 TiDB 服务器的内存中,直接从内存中获取表数据,避免从 TiKV 获取表数据,从而提升读性能
#生成测试数据
sysbench --config-file=config_new oltp_common.lua --tables=1 --table-size=100000 prepare

 

CREATE TABLE `sbtest1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`k` int(11) NOT NULL DEFAULT '0',
`c` char(120) NOT NULL DEFAULT '',
`pad` char(60) NOT NULL DEFAULT '',
PRIMARY KEY (`id`) /*T![clustered_index] CLUSTERED */,
KEY `k_1` (`k`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin  /* CACHED ON */

#变成缓存表

alter table sbtest1 cache;

#对缓存表执行 DDL 语句会失败。若要对缓存表执行 DDL 语句,需要先去掉缓存属性,将缓存表设回普通表后,才能对其执行 DDL 语句。
truncate table sbtest1 报错
加索引报错

#将缓存表改为普通表
ALTER TABLE users NOCACHE


往缓存表写入数据时,有可能出现秒级别的写入延迟。延迟的时长由全局环境变量 tidb_table_cache_lease 控制。
你可根据实际业务能否承受此限制带来的延迟,决定是否适合使用缓存表功能。例如,对于完全只读的场景,可以将 tidb_table_cache_lease 调大:
set global tidb_table_cache_lease=(1到10)

标签:缓存,小表,DEFAULT,cache,tidb,table,NULL
From: https://www.cnblogs.com/52shaidan/p/16623468.html

相关文章

  • 缓存三大问题及解决方案
    1.缓存来由随着互联网系统发展的逐步完善,提高系统的qps,目前的绝大部分系统都增加了缓存机制从而避免请求过多的直接与数据库操作从而造成系统瓶颈,极大的提升了用户体验和......
  • [ZMQ] ZMQ_PUB和ZMQ_SUB 关于缓存区的问题
    问题描述环境ubuntu18.04zmqversion:4.3.3设置了一个发送端和一个接收端,发送端是ZMQ_PUB,接收端ZMQ_SUB,并且通过zmq_setsockopt设置了ZMQ_SNDHWM,ZMQ_RCVHWM,ZMQ......
  • tidb 调整索引创建速度
    调整索引创建的速度#生成测试数据sysbench--config-file=./config_new./oltp_common.lua--table-size=200000preparesetglobaltidb_ddl_reorg_worker_cnt=2;setgl......
  • tidb region拆分
    聚簇表region拆分CREATETABLE`sbtest1`(`id`int(11)NOTNULLAUTO_INCREMENT,`k`int(11)NOTNULLDEFAULT'0',`c`char(120)NOTNULLDEFAULT'',`pad......
  • 35. Redis---缓存问题
    1.前言在实际的业务场景中,Redis一般和其他数据库搭配使用,用来减轻后端数据库的压力,比如和关系型数据库MySQL配合使用。Redis会把MySQL中经常被查询的数据缓存起来,......
  • ng-alain解决新版本发布后前端存在缓存而导致路由出错问题
    app.component.tsimport{Component,ElementRef,OnInit,Renderer2}from'@angular/core';import{NavigationEnd,NavigationError,RouteConfigLoadStart,Rout......
  • tidb 空region合并
    1.检查schedul-limit参数showconfigwheretype='pd'andnamelike'%schedule-limit';schedule.hot-region-schedule-limit 4schedule.leader-schedule-limit 4schedul......
  • tidb 驱逐节点leader
    1.检查schedul-limit参数showconfigwheretype='pd'andnamelike'%schedule-limit';schedule.hot-region-schedule-limit 4schedule.leader-schedule-limit 4schedul......
  • mac怎么清理DNS缓存
    可以通过Mac系统启动台功能,在其他页面打开终端进行操作即可。1.打开终端2.进入终端界面,输入sudokillall-HUPmDNSResponder命令执行即可。......
  • 一文打通——数据库与缓存的数据一致性问题分析
    缓存读写策略介绍三种缓存读写策略,各有优劣Read/WriteThroughPattern(读写穿透)Read/WriteThroughPattern中服务端把cache视为主要数据存储,从中读取数据并将数......