SQL优化笔记

吹爆阿里P8的SQL优化笔记,由于太全直接被GitHub下架 直接吹爆 作者将全书脉络展现得非常清晰,先在前言中通过小故事梳理出 SQL 优化的方法论,接下来将各 SQL 优化的知识点融入到方法论中,形成了全书目录,从而让读者明白为什么要讲解这些知识,学了这些知识对优化有什么帮助。更让人称道的是,这个目录是以一个生动有趣的足迹图展现在读者面前的,不落俗套的同时给人一种视觉上的惊艳感。这是谁的足迹,分明是你自己的足迹!于是,一种强烈的代入感油然而生,来,迈开双腿,学习着,思考着,奔跑着! 足迹所到之处,感动如影随形,只因案例无数。我看到了作者十多年如一日在工作的荆棘 阅读详情

SQL优化笔记[2019年12月]

1.表的连接数

待完成

2.exist 与 in 详解
- in () 适合B表比A表数据小的情况 
- exists() 适合B表比A表数据大的情况   
- 当A表数据与B表数据一样大时,in与exists效率差不多,可任选一个
3. “*”号
尽量避免使用*,Oracle数据库中,数据库会先把*号解析为表中所有的列名,在这个过程中,会去查数据字典,这个过程会耗费一定的时间。
4.索引
1.当在where条件中使用 is null 和 is not null  时,不走索引
2.当使用通配符时,通配符在首位的时候是不走索引的
3.在where条件中用连接字符串,也会不走索引
4.在where条件中对字段进行表达式操作,函数操作时,都会造成全表扫描
5. or  使用or的话如果or条件的每个列都加上索引,就会走索引,如果or多个列有的列没有索引那么不会走索引,这时可以考虑UNION ALL 
索引的需要额外的空间存放索引数据,并且insert、update和delete都会对索引进行更新,会增加磁盘的IO,所以索引并不是越多越好,不必要的字段尽量不加索引。

注:索引的好处在于避免了全表扫描

5.decode
1.decode可以避免重复扫描相同的记录或重复连接相同的表
6.truncate 代替 delete 详解
但是就应用来说,一般情况下我们做的都是增量的抽取,并且有时候直接操				作生产库,为了保险,我们一般会跟据SQL先查出需要删除的数据,然后再把这条SQL语句改成delete语句,这样可以保证不会出错。而且delete可以回滚。
7.SQL语句大写
因为Oracle再解析时会先将小写字母转成大写字母,然后再去执行。
8. union与union all
union 会去重,所以再同样效果的情况下,使用union all 
9. on where having
在SQL语句中,起作用的顺序先是on,然后是where,再然后是having ,可以根据具体的情况,去抒写3个关键字中的条件,数据量越少,SQL执行的速度就会越快。
10.使用表别名
当在SQL语句中连接多个表时, 在每一列上都加上表的别名,可以减少解析的时间,避免列重复引起的歧义。
11.临时表
待完成
SQL优化-颜群笔记 1.MySQL版本 5.x: 5.0-5.1:早期产品的延续,升级维护 5.4 - 5.x : MySQL整合了三方公司的新存储引擎 (推荐5.5) 安装:rpm -ivh rpm软件名 如果安装时 与某个软件 xxx冲突,则需要将冲突的软件卸载掉: yun -y remove xxx 安装时 有日志提示我们可以修改密码:/usr/bin/mysqladmin -u root password 'new-password' 注意: 如果提示“GPG keys...”安装失败,解决方案: rp 阅读详情

相关推荐

Spark SQL 优化笔记

前言 记录自己在工作开发中遇到的SQL优化问题 1、避免用in 和 not in 解决方案: 用exists 和 not exists代替 用join代替 not exists示例 not in: select stepId,province_code,polyline from route_step where stepId not in (select stepId from stepId...

主要分享大数据相关的知识,如Spark、Hudi 1782

Sql优化技巧总结

段时间,面试官关于Sql优化的提问已经越来越多了,Sql优化可以说是已经成为了面试必备技能之一,同时实战中,涉及到复杂的库表结构时,对于Sql的优化更是是重中之重。本文从Sql语句、硬件设备以及Java程序三个方面详细的讲解关于Sql优化的技巧。

qq_65225921的博客 2962

Windows游戏玩家必看:用Process Lasso优化CPU优先级和核心绑定,告别卡顿

本文为Windows游戏玩家详细介绍了如何使用Process Lasso优化系统性能。通过设置CPU优先级和核心绑定,可以智能管理进程资源,确保游戏获得最高调度权限,有效减少因后台程序干扰或Windows调度机制不完善导致的卡顿与帧数波动,从而提升游戏流畅度与稳定性。

weixin_29299807的博客 2217

SQL优化常用的几种技巧方法笔记

MySQL运行机理 mysql 客户端/服务端通信阶段 -》查询缓存阶段-》查询优化处理阶段-》查询执行引擎阶段-》返回客户端阶段。 定位慢SQL: 业务驱动:根据业务反馈来确定哪些sql可能出现问题。 测试驱动:通过测试确定哪些sql出现问题。 慢查询日志:通过日志记录的方式查找执行效率慢的sql。 慢日志查询配置: show variables like ‘slow_query_log’ //–查看是否开启慢日志保存set global slow_query_log = on //--

阿飞的博客 1338

ArcGIS Pro实战:用时空立方体分析共享单车轨迹数据(含3D可视化技巧)

本文详细介绍了在ArcGIS Pro中利用时空立方体技术分析共享单车轨迹数据的全流程。从数据预处理、构建时空立方体,到执行新兴时空热点分析,并最终实现动态3D可视化,手把手教你挖掘城市骑行活动的时空规律。文章重点解析了工具参数设置、常见报错解决方案,并提供了可复用的Python脚本,助力城市规划与交通研究者高效完成时空模式挖掘。

weixin_28323057的博客 136

MATLAB自动驾驶(1)——预构建场景库

MATLAB自动驾驶(1)——预构建场景库

Ucicorn Gundam的博客 3265

经验笔记:SQL调优

通过对查询语句、数据库配置、硬件资源等方面进行优化,可以显著提升数据库性能,进而增强应用程序的整体表现。命令,我们可以看到查询计划,并确认是否使用了索引。:在连接查询中,如果有一个小表和一个大表,应该优先使用小表来驱动大表,以减少处理的数据量。确保开发团队有足够的知识来编写高效的SQL查询,并了解数据库的最佳实践。实施后,再次进行性能测试,评估优化措施的效果,并根据需要继续调整。:使用连接查询而不是子查询,以减少临时表的创建,提高查询效率。对于耗时的操作,可以采用异步处理的方式,如队列或消息传递系统。

qq_45831414的博客 1983

Alipay 支付唤起 h5 测试

测试地址 https://recharge.apps.oppomobile.com/recharge-center/recharge/?from=message try { //唤起客户端快捷参数 var data = {"requestType":"SafePay","fromAppUrlScheme":"alipays","dataString":"h5_ro...

六桥风月IT随笔 1万+

SQL优化学习笔记

索引设计用覆盖索引减少回表,遵循最左前缀优化排序/分组;主键设计聚焦顺序插入、长度最小化。插入优化批量提交、顺序插入主键;海量数据用LOAD DATA跳过 SQL 解析。查询优化排序/分组利用索引有序性,避免filesort;大偏移量分页用覆盖索引 + 子查询。锁与更新UPDATE需命中有效索引,防止行锁升级为表锁;COUNT优先用count(*),效率最优。

weixin_74333370的博客 917

转录因子详细介绍(motif)

转录因子详细介绍(motif) TF: transcription factor转录因子TFBS: transcription factor binding site转录因子结合位点TFBS是序列内的location,TF特异结合在这里,这个site有这种特点 1 和一些参考相关的一个位置(开始,结束,strand),这些reference可以是染色体开始,geneTSS。也可以是一段sequence 2 A SITE可以是实验证实的(已知的),也可以是一些算法(预测的) 3 例子,下面这个图是酵母

wangprince2017 3万+

那些年-SAP固定资产导入AS91 OASV

固定资产起初导入步骤: 第一部分:资产数据导入 1)两个日期配置 填写图片摘要(选填) Specify transfer date/last closed fiscal year 这里的日期填写系统切换日期,如果系统是2015-10-01上线,这里填写2015-09-3 填写图片摘要(选填) Specifylast period posted in prv system 这里指定系统切换的上一期间。这里写2015-09 填写图片摘要(选填) ​2)AS91新增 填写固定资产的分类,公司

阿土工作室 7947

学习笔记一 常用的sql优化技巧

sql优化学习日记

qq_44490656的博客 619

第67步 时间序列建模实战:ARIMA建模(Stata)

第67步 时间序列建模实战:ARIMA建模(Stata)

Jet4505的博客 6819

MySQL学习笔记-05(SQL优化)

MySql优化工具、MySql优化

weixin_41016739的博客 2852

从毫K级温控到分子级洁净:光刻机环境控制系统的技术演进与专利格局

摘要 光刻机环境控制系统是半导体制造中的"隐形精密工程",通过毫K级温度控制(±0.002℃)、超高洁净度(ISO Class 1)等核心技术为纳米级光刻提供环境保障。本文系统分析了温度、湿度、洁净度、流场和压力控制五大技术方向的发展趋势,揭示了从单参数控制向多参数协同智能控制的转型路径。研究显示:1)温度控制正从PID向神经网络智能控制演进;2)EUV光刻将湿度控制推至ppbv级;3)洁净度控制扩展到分子级污染物管理。头部厂商中,ASML侧重系统集成,Nikon专注浸没流场,Canon

huanghm88的专栏 312

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

关于SQL优化的笔记

未完待续 #1.MySQL版本 以下笔记来自5.5版本 安装:rpm -ivh rpm软件名 卸载:yun -y remove XXX 安装时 有日志提醒我们可以修改密码: /usr/bin/mysqladmin -u root password 启动:service mysql start 关闭:service mysql stop 重启:service mysql restart 在计...

weixin_44867712的博客 522

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

sql优化学习笔记

mysql优化、数据库优化一、尚硅谷-----周阳1、mysql的架构介绍2、mysql存储引擎3、索引介绍4、explain结果的各字段意义说明5、调优案例: 一、尚硅谷-----周阳 1、mysql的架构介绍 2、mysql存储引擎 数据库相关面试题参考另一篇博客:Java面试笔记自己用、第二阶段、4数据库相关 常用的两个MyISAM和InnoDB 查看mysql已提供的存储引擎命令:show engines; 查看已安装的mysql当前默认存储引擎:show variables lik

furenqiang的博客 833

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

SQL优化最干货总结笔记!

前言 网上关于SQL优化的教程很多,但是比较杂乱。而且百度字节等大厂的面试难度越来越高,无论从大厂还是到小公司,一直未变的一个重点就是对SQL优化经验的考察。一提到数据库,先“说一说你对SQL优化的见解吧?”。SQL优化已经成为衡量程序猿优秀与否的硬性指标,甚至在各大厂招聘岗位职能上都有明码标注,所以近日有空我专门花费了大量的时间查找资料、修改、排版,希望能够帮助到有需要的朋友,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。 有朋友疑问到,SQL优化真的有这么重要么?如下图所示,SQ

leeta的博客 386

Sql 优化笔记

Sql 优化 概述 优化成本:硬件>系统配置>数据库表结构>SQL及索引。 优化效果:硬件<系统配置<数据库表结构<SQL及索引。 MySQL层优化原则 减少数据访问: 设置合理的字段类型,启用压缩,通过索引访问等减少磁盘IO 返回更少的数据: 只返回需要的字段和数据分页处理 减少磁盘io及网络io 减少交互次数: 批量DML操作,函数存储等减少数据连接次数 扩展 SQL语句主要分为哪几类 .

weixin_38472038的博客 953

SQL 优化笔记(MySQL 版)

颜群老师的 SQL 优化课程

萌宅鹿的技术小屋 1116

SQL优化 笔记

优化思路 1.   数据库结构(主要是索引)、 2.   服务器当前性能(共享内存、磁盘文件碎片)、 3.   查询语句复杂:反范式设计 4.   记录数过多:分表 Sql优化 执行顺序          Where字句选择所有合适的行,Group   By用来分组个统计行,Having字句用来剔除多余的分组。          这样Group   By   个Having的开销小

dananhai381的专栏 870

优化后 SQL 语法笔记

本文系统介绍了MySQL数据库操作的核心语法,涵盖DDL(数据定义语言)、DML(数据操作语言)、DQL(数据查询语言)和DCL(数据控制语言)四大类。主要内容包括:数据库和表的基本操作(创建/查询/修改/删除);数据的增删改查操作;条件查询、分组查询、排序和分页等高级查询技巧;用户权限管理。文章提供了丰富的示例代码和实用建议,如推荐使用utf8mb4字符集、遵循最小权限原则等最佳实践,并重点强调了WHERE条件在数据修改/删除中的重要性。

2401_88109044的博客 872
上一篇: 数据库SQL语句的执行
下一篇: Python学习笔记01-函数的传参
Aronup
博客等级 码龄7年 75粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值