码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Mysql数据库调优


    目录

    前言

    优化SQL语句

    1.数据库数据表索引

    2.避免使用JOIN

    3.使用LIMIT分页

    4.禁止使用SELECT *

    5.避免增加临时表

    6.使用存储过程和触发器

    7.使用UNION ALL 替代UNION


    前言

    日常工作中遇到浏览器网页打不开或者缓慢的场景,那么我们如何优化Mysql数据库,使其稳定运行

    优化SQL语句

    1.数据库数据表索引

    创建索引可以显著提高查询速度。通过为经常用于查询条件的列创建索引,可以加快数据检索速度。

    CREATE INDEX index_name ON table_name(column_name); 

    2.避免使用JOIN

    过多的 JOIN 操作会导致查询性能下降。可以尝试使用子查询、分页查询或者使用缓存来减少 JOIN 操作。

    SELECT t1.id, t1.name, t2.address FROM userst1 INNER JOIN addresses t2 ONt1.id = t2.user_id WHERE t1.city ='New York';

    3.使用LIMIT分页

    使用 LIMIT 分页可以提高查询性能。避免使用 SELECT *,尽量只查询需要的字段。

    SELECT id,name, ag eFROM users LIMIT 100 OFFSET 100;

    4.禁止使用SELECT *

    禁止使用 SELECT *,只查询需要的字段。这样可以减少数据传输量,提高查询速度。

    SELECT id,name, age FROM users WHERE age >50;

    5.避免增加临时表

    避免使用临时表,尽量使用 JOIN 操作替代。

    SELECT t1.id, t1.name, t2.address FROM userst1 JOIN addresses t2 ON t1.id = t2.user_id WHERE t1.city ='Shan Xi';

    6.使用存储过程和触发器

    存储过程和触发器可以提高查询性能。将复杂查询逻辑放入存储过程或触发器中,以减少查询次数。

    1. DELIMITER $$ CREATE PROCEDURE get_users_by_age()
    2. BEGIN SELECT * FROM users WHERE age >30;
    3. END$$
    4. DELIMITER ;

    7.使用UNION ALL 替代UNION

    使用 UNION ALL 替代 UNION 可以提高查询性能。

    SELECT id,name, age FROM users WHERE age >40 UNION ALL SELECT id,name, age FROM customers WHERE age >40;
  • 相关阅读:
    RK3588 预安装APK
    伺服阀放大器控制器放大板
    2022全球20多款知名的Android刷机ROM镜像和Android系统开源源码(覆盖全球机型)
    基于SSH的医院在线挂号系统设计与实现
    Monaco Editor教程(十二):使用Marker来增加分词注释,标记,优化编辑器交互体验
    适配移动端,菜单采用底部固定形式(1+X Web前端开发初级 例题)
    JMeter动态线程组和动态吞吐量
    【Pytorch】torch.nn.init.xavier_uniform_()
    Java实现Excel批量导入数据库
    Geoserver中使用CQL过滤要素
  • 原文地址:https://blog.csdn.net/G_D0120/article/details/137176884
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号