我们日常开发中常常会遇到数据库查询比较慢,大量的慢查询日志堆积使开发人员痛不欲生,上有DBA劈头盖脸的吐槽你SQL写的垃圾导致数据库负载居高不下,下有产品经理鄙视你代码垃圾系统响应太慢,只有你夹在中间欲哭无泪,而面试中也常常会问到你对于SQL性能优化的知识,下面我们就来说一下开发中必须要掌握的一些SQL优化技能。
2024年08月03日
我们日常开发中常常会遇到数据库查询比较慢,大量的慢查询日志堆积使开发人员痛不欲生,上有DBA劈头盖脸的吐槽你SQL写的垃圾导致数据库负载居高不下,下有产品经理鄙视你代码垃圾系统响应太慢,只有你夹在中间欲哭无泪,而面试中也常常会问到你对于SQL性能优化的知识,下面我们就来说一下开发中必须要掌握的一些SQL优化技能。
2024年08月03日
数据是信息社会重要的资源,许多重大决策都离不开数据和信息的支持。如果只是小规律的数据,用简单的文件或表格就行了,但无法应付以百万计的数据处理。针对结构化数据的数据库技术便应运而生。
数据处理包括数据的生成、处理与使用。数据生成主要由数据的增、改、删。数据的使用主要是数据查询、生成视图与报表。表中结构数据的增、改、删在SQL语言中,用Insert、update、delete语句完成,数据查询使用select语句。
2024年08月03日
完整的DQL语句:select … from … where … group by … having … order by … limit …
执行顺序 5 1 2 3 4 6 7
1. 普通查询语句
2024年08月03日
SQL WHERE 子句用于筛选出那些满足指定条件的记录
SELECT column_name(s) FROM table_name WHERE column_name operator value;
演示数据
先在 MySQL 数据库运行下面的语句创建测试数据
2024年08月03日
为什么:
IN 和 NOT IN 是比较常用的关键字,为什么要尽量避免呢?
1、效率低
2024年08月03日
在 SQL 中,NULL 值是一种特殊的数据类型,表示一个缺失或未知的值。虽然 NULL 值在某些情况下是很有用的,但是它们也经常导致问题和困惑,因为它们具有特殊的性质。
2024年08月03日
在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。
系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现其功能就可,而是要写出高质量的SQL语句,提高系统的可用性。
2024年08月03日
SQL 优化经验
1. 选择最有效率的表名顺序(只在基于规则的优化器中有效)
ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,