最新 最热

知乎SQL优化挑战赛题目3解析 - 性能提升500倍的内幕

最近木匠在知乎上发起了一个SQL优化挑战赛,其中题目3用到了OR条件转化为UNION、隐式类型转化导致索引失效、LIMIT子句下推优化三个PawSQL的重写优化算法以及索引创建的策略。...

2024-08-20
1

高级SQL优化之LIMIT子句下推

经常听到有人说LIMIT影响SQL查询性能,其实单纯的LIMIT子句不会影响SQL性能,如果有影响,也是好的影响,特别是子查询中limit语句,可以限制中间结果集的大小,从而为减少后续处理的数据量。本文来讨论如何对LIMIT子句进行下推优...

2024-08-20
5

高级SQL优化之分组字段顺序优化

如果一个查询中既包含来自同一个表的排序字段也包含分组字段,但字段顺序不同,可以通过调整分组字段顺序,使其和排序字段顺序一致,这样数据库可以避免一次排序操作。...

2024-08-20
1

知乎SQL优化挑战赛 - 题目2解析

最近在知乎上发起了一个SQL优化挑战赛,其中题目2用到了多个重写优化算法以及索引创建的策略。本文讲解了详细的优化分析过程,涉及SQL优化的多个方面,包括索引查找、避免回表、驱动表选择、索引避免排序,以及两种重写优化...

2024-08-20
1

高级SQL优化系列之分组排序优化

在如何创建高效的数据库索引中,我们说到过,可以通过有序的索引(B+tree)来避免排序操作,从而提升查询的性能。但是如果排序子句或分组子句中的字段来自不同的表,那么数据库优化器就无法利用索引的有序性来避免一次排序操作。...

2024-08-20
1

高级SQL优化系列之深分页优化

深分页指的是翻页请求中的页码数非常大,OFFSET数值非常大的情况。如果直接使用LIMIT offset, limit的方式进行分页,那么在OFFSET超过10000时,性能会明显下降。原因是LIMIT语句会先获取符合条件的offset+n行数据,然后再...

2024-08-20
4

《中国数据库前世今生》之我的第一节数据库课程

在这个信息爆炸的时代,数据如同血液般流淌在社会的每一个角落,驱动着商业决策、科学研究乃至日常生活的方方面面。作为一名已经入行多年的数据运维工程师,我的数据库第一课不仅是一次知识的启航,更是对数据世界奥秘的一次...

2024-08-18
5

.NET Framework常用ORM框架iBatis.Net操作数据库教程

iBatis.Net 是一个轻量级的 ORM 框架,它允许开发者通过直接编写 SQL 查询来操作数据库,并将查询结果映射到对象模型中。与其他 ORM 框架相比,iBatis.Net 提供了更大的 SQL 灵活性,同时保留了与数据库的紧密控制。本文将通...

2024-08-18
8

C#进阶-Entity Framework 5 原理与使用详解

本文详细介绍了Entity Framework 5(EF5)在C#中的使用方法,包括EF5的基本概念、与其他持久层框架的比较、基本语法和高级语法的使用,并通过实例讲解了如何在项目中集成和使用EF5。作为微软提供的ORM(对象关系映射)框架,EF5在...

2024-08-17
7

C#进阶-使用DBHelper工具类封装ADO.NET框架底层方法简化数据库操作

在C#开发中,与数据库的交互是常见的需求。通常,我们会使用ADO.NET直接执行SQL查询,虽然这种方法非常灵活,但容易导致代码重复,并且在处理多个SQL语句时容易出错。为了提高代码的可维护性和复用性,封装一个通用的数据库操作...

2024-08-16
7