西安网站开发托管代运营,信息系网站建设开题报告书,怎样做自己的手机网站,WordPress有评论邮件通知文章目录 openGauss学习笔记-241 openGauss性能调优-SQL调优-审视和修改表定义241.1 审视和修改表定义概述241.2 选择存储模型241.3 使用局部聚簇241.4 使用分区表241.5 选择数据类型 openGauss学习笔记-241 openGauss性能调优-SQL调优-审视和修改表定义 
241.1 审视和修改表定… 文章目录 openGauss学习笔记-241 openGauss性能调优-SQL调优-审视和修改表定义241.1 审视和修改表定义概述241.2 选择存储模型241.3 使用局部聚簇241.4 使用分区表241.5 选择数据类型   openGauss学习笔记-241 openGauss性能调优-SQL调优-审视和修改表定义 
241.1 审视和修改表定义概述 
好的表定义至少需要达到以下几个目标 
减少扫描数据数据量。通过分区的剪枝机制可以实现该点。尽量减少随机IO。通过聚簇/局部聚簇可以实现该点。 
表定义在数据库设计阶段创建在SQL调优过程中进行审视和修改。 
241.2 选择存储模型 
进行数据库设计时表设计上的一些关键项将严重影响后续整库的查询性能。表设计对数据存储也有影响好的表设计能够减少I/O操作及最小化内存使用进而提升查询性能。 
表的存储模型选择是表定义的第一步。客户业务属性是表的存储模型的决定性因素依据下面表格选择适合当前业务的存储模型。 
存储模型适用场景行存点查询返回记录少基于索引的简单查询。增删改比较多的场景。列存统计分析类查询group 、join多的场景。 
241.3 使用局部聚簇 
局部聚簇Partial Cluster Key是列存下的一种技术。这种技术可以通过min/max稀疏索引较快的实现基表扫描的filter过滤。Partial Cluster Key可以指定多列但是一般不建议超过2列。Partial Cluster Key的选取原则 
受基表中的简单表达式约束。这种约束一般形如col op const其中col为列名op为操作符 、、、、const为常量值。尽量采用选择度比较高过滤掉更多数据的简单表达式中的列。尽量把选择度比较低的约束col放在Partial Cluster Key中的前面。尽量把枚举类型的列放在Partial Cluster Key中的前面。 
241.4 使用分区表 
分区表是把逻辑上的一张表根据某种方案分成几张物理块进行存储。这张逻辑上的表称之为分区表物理块称之为分区。分区表是一张逻辑表不存储数据数据实际是存储在分区上的。分区表和普通表相比具有以下优点 改善查询性能对分区对象的查询可以仅搜索自己关心的分区提高检索效率。  增强可用性如果分区表的某个分区出现故障表在其他分区的数据仍然可用。  方便维护如果分区表的某个分区出现故障需要修复数据只修复该分区即可。 openGauss数据库支持的分区表为一级分区表和二级分区表其中一级分区表包括范围分区表、间隔分区表、列表分区表、哈希分区表四种二级分区表包括范围分区、列表分区、哈希分区两两组合的九种。 范围分区表将数据基于范围映射到每一个分区这个范围是由创建分区表时指定的分区键决定的。这种分区方式是最为常用的并且分区键经常采用日期例如将销售数据按照月份进行分区。间隔分区表是一种特殊的范围分区表相比范围分区表新增间隔值定义当插入记录找不到匹配的分区时可以根据间隔值自动创建分区。列表分区表将数据中包含的键值分别存储在不同的分区中依次将数据映射到每一个分区分区中包含的键值由创建分区表时指定。哈希分区表将数据根据内部哈希算法依次映射到每一个分区中包含的分区个数由创建分区表时指定。二级分区表由范围分区、列表分区、哈希分区任意组合得到的分区表其一级分区和二级分区均可以使用前面三种定义方式。  
241.5 选择数据类型 
高效数据类型主要包括以下三方面 尽量使用执行效率比较高的数据类型 一般来说整型数据运算包括、、、≧、≦、≠等常规的比较运算以及group by的效率比字符串、浮点数要高。比如某客户场景中对列存表进行点查询filter条件在一个numeric列上执行时间为10s修改numeric为int类型之后执行时间缩短为1.8s左右。  尽量使用短字段的数据类型 长度较短的数据类型不仅可以减小数据文件的大小提升IO性能同时也可以减小相关计算时的内存消耗提升计算性能。比如对于整型数据如果可以用smallint就尽量不用int如果可以用int就尽量不用bigint。  使用一致的数据类型 表关联列尽量使用相同的数据类型。如果表关联列数据类型不同数据库必须动态地转化为相同的数据类型进行比较这种转换会带来一定的性能开销。  点赞你的认可是我创作的动力 ⭐️ 收藏你的青睐是我努力的方向 ✏️ 评论你的意见是我进步的财富