数据库性能优化(sql优化)_最详细讲解
文章平均质量分 93
1.详细介绍数据库遇到性能问题怎么进行优化,包括集中式和分布式的sql优化,优化思想等;
2.内容包括索引,统计信息,执行计划思想,表连接,子查询,排序分组,表设计,单表优化(等值/IN/范围/like/排序/分组/分析函数/and/or/层次查询),CBO原理等;
3.超大型项目的优化经验;
yxy___
从事数据库行业,专注于数据库。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据库性能优化(sql优化)_分布式优化思路02_yxy
分布式数据库sql在有分组、排序、去重、过滤等操作符时,会涉及到先接收数据再做分组排序类操作,还是先本地排序分组后再接收数据的问题。当两个分区表连接时,如果分区方式不同(没利用上分区智能连接),肯定会涉及数据跨界点连接操作,这里就涉及到多种数据分发方式了。数据库优化基本思路、索引详解、执行计划、统计信息、CBO原理、单表优化、多表优化、分布式优化、子查询、优化案例等。本地操作数据后,数据量可以大量减少,可以减少传输的数据量,从而减少跨节点或跨区域的网络传输,提升性能。①右表分发,保留左表数据分布特性;原创 2025-04-22 09:43:55 · 259 阅读 · 0 评论 -
数据库性能优化(sql优化)_分布式优化思路01_yxy
发送操作符 ESEND 和接收操作符 ERECV为了在不同的实例之间或同一实例不同的线程之间进行数据交换ESEND 将孩子操作符的数据按照某种分发规则发送给特定 ERECV 操作符。ESEND 操作符发送的内容为当前子计划的执行结果,有时也会包含一些附加信息。ERECVERECV 操作符用于接收某个 ESEND 操作符的输出结果,并将接收的结果向上层操作符传递。例如--初始化表和数据COMMIT;--执行查询语句,并显示执行计划--分析。原创 2025-04-15 14:34:57 · 340 阅读 · 0 评论 -
数据库性能优化(sql优化)_子查询02_yxy
①需要注意主查询和子查询到底是执行一次还是多次(可按真实业务情况调整控制参数),子查询执行多次的情况下,一定要子查询效率够快,并且最好有索引;②注意在需要的列建立合理的索引,特别是需要执行多次的过滤列(例如非相关子查询中的TEST01.A = var2的A列);③读懂sql语义很重要,尝试进行连接方式和连接顺序的调整;下一篇:数据库性能优化(sql优化)_分布式优化思路01_yxy1.数据库优化。原创 2025-04-05 17:37:56 · 181 阅读 · 0 评论 -
数据库性能优化(sql优化)_子查询01_yxy
子查询优化思路详解原创 2025-03-21 09:57:37 · 114 阅读 · 0 评论 -
数据库性能优化(sql优化)_多表连接02_yxy
连接主要往三个方面考虑①考虑连接顺序(小表驱动大表,小表构造hash表)例如:当超过 2 张表进行连接时,经过连接可以产生较小结果集的表优先处理。②考虑连接方式(HASH、嵌套循环、归并、半转内等)每个连接方式都有优缺点哈希连接需要构建哈希表,适用于未排序的数据,但可能会消耗大量内存。归并连接更适用于已排序的数据,避免了哈希表的内存开销,归并连接在处理大数据集的连接时,性能通常更好,前提是数据已经排序。原创 2025-03-14 15:58:15 · 145 阅读 · 0 评论 -
数据库性能优化(sql优化)_多表连接01_yxy
对于多张表的连接查询,数据库每次只能处理2表的连接,然后再和第3张表连接或者是另外一个连接结果做连接,表间连接顺序 和 连接方式的选择对性能影响特别大,所以重点讲下每个连接方式和优化的思路。原创 2025-03-08 16:13:31 · 246 阅读 · 0 评论 -
数据库性能优化(sql优化)_单表优化02_yxy
单表优化示例讲解原创 2025-02-28 09:51:32 · 108 阅读 · 0 评论 -
数据库性能优化(sql优化)_单表优化01_yxy
单表优化各种情况示例原创 2025-02-21 09:55:22 · 94 阅读 · 0 评论 -
数据库性能优化(sql优化)_CBO原理02_yxy
多列谓词: card col1*(card col2/number rows)*(card col3/number rows)..........*(card coln/number rows)表连接: 连接选择性 * filtered cardinality(table1) * filtered cardinality(table2)连接选择性算法: ((num_rows(table1) - num_nulls(table1.col1)) / num_rows(table1)) *以原创 2025-02-14 10:08:25 · 79 阅读 · 0 评论 -
数据库性能优化(sql优化)_CBO原理01_yxy
CBO(Cost Based Optimizer):基于代价的优化器CBO是一种数据库查询优化技术,它通过估算不同可能的查询执行计划的成本来选择最佳的执行计划;这种优化方式依赖于数据库对象(如表和索引)的统计信息,包括行数、数据分布、索引选择性等,这些信息用于计算不同执行计划的成本;原创 2025-02-13 14:20:38 · 221 阅读 · 0 评论 -
数据库性能优化(sql优化)_统计信息_yxy
数据库中同一个sql有非常多种执行方式,每种执行方式的代价肯定不同,统计信息描述了数据库对象(如表、索引等)的各种特征,包括但不限于表中的行数、列的不同值数量、数据的分布情况以及索引的选择性等。统计信息能使CBO(基于代价优化器)能基于具体数据来选择更好的执行计划;原创 2025-02-07 10:47:36 · 242 阅读 · 0 评论 -
数据库性能优化(sql优化)_SQL执行计划03_yxy
1.对于排序或者分组操作,理解B+树的底层存储结构都非常重要,排序或分组如果能利用上索引,那效率会提升很多;2.SAGR 可以处理持续不断的数据流,而 HAGR 更适合一次性处理完整的数据集合;3.HASH分组需注意哈希冲突、内存使用和数据分布等因素;原创 2025-01-31 14:57:25 · 469 阅读 · 0 评论 -
数据库性能优化(sql优化)_SQL执行计划02_yxy
常见执行计划操作符讲解原创 2025-01-24 12:48:18 · 626 阅读 · 0 评论 -
数据库性能优化(sql优化)_SQL执行计划01_yxy
本文主要讲解SQL执行计划是什么、由什么组成、怎么查看执行计划、还有一个完整示例原创 2025-01-19 20:21:22 · 2275 阅读 · 0 评论 -
数据库性能优化(sql优化)_索引详解04_深入理解B+树_yxy)
以伪代码方式讲解B+树的增删改查逻辑原创 2025-01-19 16:37:00 · 624 阅读 · 0 评论 -
数据库性能优化(sql优化)_索引详解03_yxy
讲解各种索引底层结构、原理(重点B+树)原创 2025-01-19 15:56:29 · 97 阅读 · 0 评论 -
数据库性能优化(sql优化)_索引详解02_yxy
真实环境该怎么创建索引为什么创建了索引确不走索引原创 2025-01-17 17:07:36 · 163 阅读 · 0 评论 -
数据库性能优化(sql优化)_索引详解01_yxy
主要介绍索引特点和类型原创 2025-01-10 16:47:16 · 144 阅读 · 0 评论 -
数据库性能优化(sql优化)_基本思路_yxy
本文主要讲解遇到一个数据库系统慢后,该从哪几个方面去考虑;原创 2025-01-03 23:21:49 · 172 阅读 · 0 评论
分享