对于千万或亿级的超大表如何高效写入数据或创建索引 大表高效写入数据的方法 对于千万或亿级大数据量的表,建议使用如下方法提升数据写入效率。 删除不必要的索引。 更新数据时候,同时会更新索引数据。对于大数据量的表,避免创建大量的索引,影响更新速度。请根据业务评估,删除不必要的索引。
利用覆盖索引来进行查询操作,避免回表,但是覆盖索引加的字段不能太多,要兼顾写性能。 能够建立索引的种类:主键索引、唯一索引、普通索引,而覆盖索引是一种查询的效果,利用explain的结果,extra列会出现:using index。
创建二级索引报错Too many keys specified 场景描述 创建二级索引失败,报错:Too many keys specified; max 64 keys allowed.
仅支持创建二级索引查询进度信息,不支持空间索引,全文索引以及其他DDL进度查询。
当“innodb_large_prefix”设置为on时,单字段索引最大长度可为3072字节,联合索引合计最大长度可为3072字节。 索引长度与字符集相关。
图3 查看基数 可知基数最小的字段“query_date”在联合索引的第一位,基数最大的字段“group_id”在联合索引最后一位,而且原SQL包含对“query_date”字段的范围查询,导致当索引走到“query_date”就会停止匹配,后面两个字段已经无序,无法走索引。
TaurusDB超大表删除索引有哪些风险 删除索引是一个风险很大的操作,建议非必要不删除索引,主要原因如下: 删除索引会导致使用该索引的查询操作性能下降,慢SQL占满系统资源,影响业务正常运行。 删除索引的过程中会导致表锁定,其他用户无法访问该表,影响系统可用性。
TaurusDB备份原理 云数据库 TaurusDB基于华为最新一代DFV存储,采用计算与存储分离架构,计算层用于给外部提供服务,管理日志信息,存储层存储数据信息。
只读落后自愈技术原理 TaurusDB是存储计算分离架构的云原生数据库,只读节点和主节点共享底层的存储数据。为了保证内存中的缓存数据的一致性,主节点与只读节点通信后,只读节点需要从Log Stores中读取主节点产生的redo来更新内存中的缓存数据。
distinct进行去重的原理是先进行分组操作,然后从每组数据中取一条返回给客户端,分组时有两种场景: distinct的字段全部包含于同一索引:该场景下MySQL直接使用索引对数据进行分组,然后从每组数据中取一条数据返回。
Backward Index Scan Backward Index Scan为反向索引扫描,可以通过反向扫描索引的方式消除排序,由于反向扫描与其他一些特性(例如: Index Condition Pushdown(ICP))不兼容,导致优化器选择Backward Index Scan
删除不必要的索引。 更新数据时候,同时会更新索引数据。对于大数据量的表,避免创建大量的索引,影响更新速度。请根据业务评估,删除不必要的索引。 插入多条数据时,尽量选择批量插入。 因为批量插入只需要远程请求一次数据库。
下图是使用CPU多核资源并行计算一个表的count(*)过程的基本原理:表数据进行切块后分发给多个核进行并行计算,每个核计算部分数据得到一个中间count(*)结果,并在最后阶段将所有中间结果进行聚合得到最终结果。
并行创建索引功能,目前支持的索引为Btree二级索引。 不支持主键索引、spatial index和fulltext index。
功能介绍 原理简介 TaurusDB支持将低频使用的Innodb引擎的表转存到OBS上,这些转存之后的表被称之为冷表。 图1 原理图 创建冷表 为了达到释放磁盘空间并且实现降低存储成本的目的,您可以将暂时不需要修改数据且磁盘空间占用较大的表转存为冷表,该表数据将存储在OBS上。
解决方案 因增加表字段而引起数据库出现性能问题,有可能是未对新增字段添加索引,数据量大导致消耗了大量的CPU资源。为此,提出如下建议恢复数据库性能。 添加对应索引、主键。 优化慢SQL语句。 父主题: 备份恢复
TaurusDB存储容量的计算与传统MySQL有一定的区别,与传统MySQL使用(数据大小+索引大小+空闲空间)计算的容量数据会有一定的差别。
当查询二级索引需要访问主表列的时候,引擎层还会先返回表获取所有需要的列信息。对于OFFSET的P远大于LIMIT的N的时候,将会导致引擎层反馈大量的数据到SQL层处理。
不支持NOT IN,以及无法使用索引的场景。 父主题: IN谓词转子查询
Digest Digest_text进行哈希计算得到的64字节的哈希字符串。 Digest_text SQL语句的特征。 Type Optimizer Hints中,Hint类型的取值为OPTIMIZER。
您即将访问非华为云网站,请注意账号财产安全