SQL 调优最佳实践笔记
定义与重要性
- SQL 调优:提高SQL性能,减少查询时间和资源消耗。
- 目标:减少查询时间和扫描的数据行数。
基本原则
- 减少扫描行数:只扫描所需数据。
- 使用合适索引:确保WHERE条件命中最优索引。
- 合适的Join类型:根据表的大小和关联性选择。
- 选择合适的数据库:根据业务类型选择OLTP或OLAP。
DQL最佳实践(SELECT)
- 避免多表JOIN,尤其是大数据量情况下。
- 避免全表扫描,使用索引优化查询。
索引使用
- 全表扫描问题:无索引或索引不合适。
- 索引创建:如
CREATE INDEX idx_title ON books (title);。 - 覆盖索引:包含查询所需所有列,减少回表查询。
- 主键点查:使用主键索引快速查询特定数据。
避免不必要的信息
- 使用具体的列名代替
SELECT *。 - 根据业务需求返回必要的列。
DML最佳实践(INSERT、UPDATE、DELETE)
- 批量操作:使用单个SQL操作多行数据。
- 删除数据:
- 使用WHERE条件指定删除范围。
- 避免大批量删除,使用循环或限制条件。
- 使用
TRUNCATE代替DELETE清空表数据。
索引最佳实践
- 创建索引:
- 及时删除不需要的索引。
- 考虑查询能否使用覆盖索引。
- 选择过滤性好的列创建索引。
- 组合索引时,将等值条件列放在前面。
- 使用索引:
- 确保索引在查询中被使用。
- 遵循左前缀规则。
- 避免使用
!=、NOT IN、LIKE '%...'等降低索引效率的条件。
总结
- SQL调优是一个全面的优化过程,包括查询类SQL、索引优化等。
- 针对不同的业务场景和数据库特性,采取相应的优化策略。
相关文章:
SQL 调优最佳实践笔记
定义与重要性 SQL 调优:提高SQL性能,减少查询时间和资源消耗。目标:减少查询时间和扫描的数据行数。 基本原则 减少扫描行数:只扫描所需数据。使用合适索引:确保WHERE条件命中最优索引。合适的Join类型:…...
Eclipse的使用配置教程:必要设置、创建工程及可能遇到的问题(很详细,很全面,能解决90%的问题)
Eclipse的使用配置: Ⅰ、Eclipse 的必要配置:1、Eclipse 的安装:其一、将 Eclipse 解压或安装到没有中文且没有空格的路径下。其二、拿到 eclipse.exe 文件,傻瓜式安装即可; 2、设置工作空间(workspace):其一、首次启动…...
遗传算法与深度学习实战(4)——遗传算法详解与实现
遗传算法与深度学习实战(4)——遗传算法详解与实现 0. 前言1. 遗传算法简介1.1 遗传学和减数分裂1.2 类比达尔文进化论 2. 遗传算法的基本流程2.1 创建初始种群2.2 计算适应度2.3 选择、交叉和变异2.4算法终止条件 3. 使用 Python 实现遗传算法3.1 构建种…...
Nginx+Tomcat实现负载均衡、动静分离集群部署
文章目录 一、Nginx实现负载均衡原理1.正向代理和反向代理2.负载均衡模式1. 轮询(Round Robin):2. 最少连接数(Least Connections):3. IP 哈希(IP Hash):4. 加权轮询…...
英语学习8月19日
词根前缀后缀 accomplishment 成就 acid n.酸的,adj.酸的 acidity n.酸性 ace adj.顶尖的 acute adj.敏锐的;急性的;严重的 acuity n.敏锐 obtuse adj.迟钝的;钝角的 acuity n.敏锐,严重 1.前缀ac: 尖&#x…...
关于windows环境使用nginx的一些性能问题
遇到的问题 最近在一个windows环境中部署nginx,遇到了以下问题: 1. nginx启动了九个线程(1master8woekr),但是所有链接都被1个woker接收,其余worker不工作 2. 用户端访问web很慢,登录服务器使…...
“解决Windows电脑无法投影到其他屏幕的问题:尝试更新驱动程序或更换视频卡“
背景: 今天在日常的工作中, 我想将笔记本分屏到另一个显示屏,我这电脑Windows10,当我按下Windows键P键,提示我"你的电脑不能投影到其他屏幕,请尝试从新安装驱动程序或使用"遇到这种问题。 解决方法1: 1.快…...
第10章 无持久存储的文件系统 (2)
目录 10.1 proc文件系统 10.1.2 数据结构 10.1.3 初始化 10.1.4 装载 proc 文件系统 10.1.5 管理 /proc 数据项 10.1.6 读取和写入信息 10.1.7 进程相关信息 10.1.8 系统控制机制 本专栏文章将有70篇左右,欢迎关注,查看后续文章。 10.1 proc文件…...
云计算实训29——mysql主从复制同步、mysql5.7版本安装配置、python操作mysql数据库、mycat读写分离实现
一、mysql主从复制及同步 1、mysql主从自动开机同步 2、配置mysql5.7版本 mysql-5.7.44-linux-glibc2.12-x86_64.tar 启动服务、登录 对数据库进行基本操作 3、使用python操纵mysql数据库 4、编辑python脚本自动化操纵mysql数据库 二、mycat读写分离实现 1.上传jdk和mycat安装…...
AI搜索引擎Perplexica的本地部署(之二)Perplexica的非docker安装
Perplex 是一个开源的AI 驱动的搜索引擎,可以使用 Grok 和 Open AI 等模型在计算机上本地安装和运行。它为学术研究、写作、YouTube 和 Reddit 提供了一系列搜索功能。用户可以通过选择不同的模型、设置本地嵌入模型和探索各种搜索选项来定制他们的体验。该工具演示…...
Oracle环境下在相同参数和数据源的情况,mybatis-plus查询和sql查询结果不一致
场景: 在系统中某个对象执行修改的时候,查询对象为空,造成修改报错 分析: 在传参中有一个eq的参数需要传null,mybatis-plus在执行eq时可能是拼成" null",但是oracle中查null必须要用is null, null是查不出东西的 解决: 改成用sql查询修改,或者加判断如果这个参…...
springboot静态资源访问问题归纳
以下内容基于springboot 2.3.4.RELEASE 1、默认配置的springboot项目,有四个静态资源文件夹,它们是有优先级的,如下: "classpath:/META-INF/resources/", (优先级最高) "classpath:/reso…...
HTML与CSS学习Day01
文章目录 一 、CSS技巧1.1 CSS精灵(CSS Sprites)1.1.1 实现步骤1.1.2 例子 1.2 字体图标1.2.1如何使用字体图标1.2.2 字体图标使用总结 1.3 垂直对齐方式vertical-align1.3.1 值1.3.2 例子 1.4 过渡效果transition1.4.1 CSS过渡效果(transiti…...
Tina-Linux Bootloaer简述
Tina-Linux Bootloaer简述 目录介绍 ubuntuubuntu1804:~/tina-v2.0-sdk/lichee/brandy-2.0$ tree -L 1 . ├── build.sh ├── opensbi ├── spl //boot0 ├── spl-pub //boot0 ├── tools └── u-boot-2018 /ubootTina-Linux 启动流程简述...
【Python】 Scrapyd:Python Web Scraping 的强大分布式调度工具
我听见有人猜 你是敌人潜伏的内线 和你相知多年 我确信对你的了解 你舍命救我画面 一一在眼前浮现 司空见惯了鲜血 你忘记你本是娇娆的红颜 感觉你我彼此都那么依恋 🎵 许嵩《内线》 在网络爬虫项目中,Scrapy 是 Python 中最流行和…...
吴恩达机器学习课后题-01线性回归
线性回归 一.单变量线性回归题目损失函数(代价函数)梯度下降函数代价函数可视化整体代码 二.多变量线性回归特征归一化(特征缩放)不同学习率比较 正规方程正规方程与梯度下降比较 使用列表创建一维数组使用嵌套列表创建二维数组&a…...
白盒报告-jacoco
使用jacoco--执行nvn test 运行过程: 1、idea执行mvn test ,运行过程如下: a.maven-surefire-plugin:0.8.7执行目标动作:prepare-agent, 目的是:执行目标动作是为了在当前的项目名下生成jecoco.…...
【MySQL】SQL语句执行流程
目录 一、连接器 二、 查缓存 三、分析器 四、优化器 五、执行器 一、连接器 学习 MySQL 的过程中,除了安装,我们要做的第一步就是连接上 MySQL 在一开始我们都是先使用命令行连接 MySQL mysql -h localhost -u root -p 你的密码 使用这个命令…...
Selenium自动化防爬技巧:从入门到精通,保障爬虫稳定运行,通过多种方式和add_argument参数设置来达到破解防爬的目的
在Web自动化测试和爬虫开发中,Selenium作为一种强大的自动化工具,被广泛用于模拟用户行为、数据抓取等场景。然而,随着网站反爬虫技术的日益增强,直接使用Selenium很容易被目标网站识别并阻止。因此,掌握Selenium的防爬…...
从数据类型到变量、作用域、执行上下文
从数据类型到变量、作用域、执行上下文 JS数据类型 分类 1》基本类型:字符串String、数字Number、布尔值Boolean、undefined、null、symbol、bigint 2》引用类型:Object (Object、Array、Function、Date、RegExp、Error、Arguments) Symbol是ES6新出…...
ssm+java2026年毕设桃花新村社区【源码+论文】
本系统(程序源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、选题背景关于新闻资讯管理系统的研究,现有研究主要以传统门户网站的新闻发布系统为主,专门针对中小型组织、企业…...
3大创新方法构建AI训练数据集:老照片修复实战指南
3大创新方法构建AI训练数据集:老照片修复实战指南 【免费下载链接】Bringing-Old-Photos-Back-to-Life Bringing Old Photo Back to Life (CVPR 2020 oral) 项目地址: https://gitcode.com/gh_mirrors/br/Bringing-Old-Photos-Back-to-Life 老照片修复AI项目…...
Millennium Steam Patcher架构解析:模块化主题引擎与Hook系统的深度实现
Millennium Steam Patcher架构解析:模块化主题引擎与Hook系统的深度实现 【免费下载链接】millennium-steam-patcher Apply themes/customize Steam after the 2023-04-27 Chromium UI update https://discord.gg/MXMWEQKgJF 项目地址: https://gitcode.com/gh_mi…...
OpenClaw安全防护指南:GLM-4.7-Flash执行权限管控实践
OpenClaw安全防护指南:GLM-4.7-Flash执行权限管控实践 1. 为什么需要安全防护? 上周我在调试OpenClaw自动化脚本时,差点酿成大祸。当时想让GLM-4.7-Flash模型帮我整理下载目录里的PDF文件,结果模型误解了指令,竟然试…...
ICP算法实战:从Point-to-Plane到VGICP,5种点云配准方法性能对比(附Python代码)
ICP算法实战:从Point-to-Plane到VGICP,5种点云配准方法性能对比(附Python代码) 在三维视觉和机器人领域,点云配准是构建环境地图、实现定位导航的基础技术。当我们需要将多个视角采集的点云数据拼接成一个完整的三维模…...
RAG系统意图识别模块设计与实现思路
前言在RAG(检索增强生成)系统的实际应用中,我们经常会遇到一个问题:所有用户问题都走相同的检索-生成流程。这会导致闲聊问题浪费检索资源、分析型问题检索不足、操作型问题无法正确处理等一系列问题。本文将介绍如何在RAG系统中加…...
一天一个开源项目(第57篇):Unsloth - 2x 更快、70% 更省显存的 LLM 微调库
引言 “Train gpt-oss, DeepSeek, Gemma, Qwen & Llama 2x faster with 70% less VRAM!” 这是「一天一个开源项目」系列的第 57 篇文章。今天介绍的项目是 Unsloth(GitHub)。 想在自己的 GPU 上微调大模型,却苦于显存不足、训练太慢&am…...
UI-TARS-desktop作品集:从简单指令到复杂工作流,看AI如何帮你干活
UI-TARS-desktop作品集:从简单指令到复杂工作流,看AI如何帮你干活 1. 引言:当AI成为你的数字同事 想象一下,你每天上班要处理一堆重复性的电脑操作:打开邮箱、下载附件、整理数据、生成报告、发送邮件……这些工作繁…...
数字游民工作流:OpenClaw+nanobot全球远程办公方案
数字游民工作流:OpenClawnanobot全球远程办公方案 1. 为什么需要自动化全球办公方案 作为一名长期在东南亚各国旅居的数字游民,我深刻体会到跨时区工作的痛苦。凌晨三点被欧洲同事的Slack消息吵醒,错过亚太区的晨会,或是忘记在不…...
G-Helper终极指南:华硕笔记本性能优化与显示控制完全解决方案
G-Helper终极指南:华硕笔记本性能优化与显示控制完全解决方案 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models …...
