SequoiaDB
siu_kueng
这个作者很懒,什么都没留下…
展开
-
SequoiaiDB巨杉数据库-访问计划的搜索过程
使用SdbQuery.explain()可以查看查询的访问计划。当 SdbQuery.explain() 的 Search 选项为 true 时,将会展示查询优化器搜索过的访问计划,并查看查询优化器选择的结果。 当 SdbQuery.explain() 的 Evaluate 选项为 true 时,将会展示查询优化器估算访问计划的总代价的演算过程。访问计划的搜索过程 TBSCAN的推演公式 IXSCAN的推演公式 SORT的推演公式Note:搜索过的访问计划不在访问计划缓存中,因此 ..转载 2021-01-25 15:00:24 · 112 阅读 · 0 评论 -
SequoiaiDB巨杉数据库-索引选择率的估算
索引选择率的估算有两种方式:使用统计信息进行估算 使用默认值进行估算使用默认值进行估算: 数值 在[ -99999999.9, 99999999.9 ]的区间中选取 如{ $lt : 0 }的选择率为:( 0 - ( -99999999.9 ) ) / ( 99999999.9 - ( -99999999.9 ) ) = 0.5 字符串 逐个字符计算在 ' ' (空格 ASCII 码:32)至 ASCII 码 127 之间的比例 计算前 20 个字符 ...转载 2021-01-25 14:58:25 · 149 阅读 · 0 评论 -
SequoiaiDB巨杉数据库-基于代价的访问计划评估
当查询的集合有多个索引时,SequoiaDB 需要选取合适的索引,或者全表扫描来执行查询。数据节点上的查询优化器会基于代价对候选的访问计划进行评估,选取合适的访问计划来完成查询。估算出每个候选访问计划执行的以下指标: 基于规则的估算选取候选访问计划 索引的选择率 < 0.1(即索引过滤剩下的记录个数为集合记录个数的 10%) 索引完全匹配排序字段及排序方向 全表扫描 符合指标 1 的候选访问计划,再基于代价的进行估算,最终选出总代价最小的访问计划执行查询。 示例转载 2021-01-25 14:57:03 · 133 阅读 · 0 评论 -
SequoiaDB巨杉数据库-访问计划
在数据库系统中,一个操作命令(如 SQL 语句)的处理通常包含以下两大步骤:由查询编译器进行命令的解析和优化 由执行引擎进行数据的存取及处理查询优化是影响命令执行效率的一个关键因素,它决定了数据的具体访问路径,和是否使用索引以及使用哪个索引。比较常见的两种优化器类型是 RBO(Rule-Based Optimization,基于规则的优化器)与 CBO(Cost-Based Optimization,基于代价的优化器)。CBO 使用一些动态采样技术,对表和索引上的动态数据进行收集和分析,通常可以得到转载 2021-01-25 14:52:50 · 106 阅读 · 0 评论 -
SequoiaDB巨杉数据库-网络
使用 sar -n DEV 1 命令,查看服务器网络设备的吞吐率: 02时43分01秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s02时43分02秒 ens33 1.08 1.08 0.06 0.17 0.00 0.00 0.00 使用命令 ethtool查看网卡速率: Speed: 1...转载 2021-01-25 14:51:01 · 115 阅读 · 0 评论 -
SequoiaDB巨杉数据库-内存
使用 vmstat 1 命令,查看服务器内存使用情况: procs -----------memory---------- ---swap-- -----io---- -system-- ------ cpu-----r b swpd free buff cache si so bi bo in cs us sy id wa st3 0 0 750176 948 1299700 0 0 77 18 167..转载 2021-01-25 14:49:57 · 149 阅读 · 0 评论 -
SequoiaDB巨杉数据库-磁盘
使用 iostat -xz 1 命令,查看服务器磁盘 I/O 情况: Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %utilsda 0.00 0.06 0.67 0.43 84.39 19.50 187.90 0.03 29.32 30.03 2..转载 2021-01-25 14:48:13 · 97 阅读 · 0 评论 -
SequoiaDB巨杉数据库-CPU 使用率
使用 top 命令, 查看cpu使用情况 %Cpu(s): 0.3 us, 0.7 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st us:用户占用cpu百分比,如果长期高于50%,需检查会话中是否存在大量表扫描,检查会话快照中耗时长的会话操作和检查上下文快照中,存在tbscan的上下文操作。如果存在表扫描,可以使用添加索引进行优化。 sy:内核占用cpu百分比。如果 us + sy 长期高于80% ,表明c..转载 2021-01-25 14:44:40 · 156 阅读 · 0 评论 -
SequoiaDB巨杉数据库-收集数据
收集数据的来源,通常分成两大类:一是数据库提供的信息,二是一些数据库之外的通用信息,最常见的就是操作系统层面的数据。在系统压测过程中,分别收集以下各类性能指标:通过快照命令,收集数据库集群性能指标,包括数据库连接数、数据读写、索引读写、增删改操作计数 通过操作系统命令,收集系统层面的性能指标,包括以下几类: CPU 磁盘 内存 网络 更多信息请访问巨杉数据库官网 ...转载 2021-01-25 14:43:16 · 118 阅读 · 0 评论 -
SequoiaDB巨杉数据库-了解应用系统
在诊断性能问题前,需要了解应用系统的类型,包括并发度、写入量和高频查询语句。根据不同类型系统,缩小最可能的可疑点,重点收集和调优对应的指标。 并发读高的应用,重点分析CPU、内存相关 写入量高重点分析磁盘IO相关 高频查询语句可以通过SQL调优尝试 更多信息请访问巨杉数据库官网...转载 2021-01-25 14:41:05 · 72 阅读 · 0 评论