码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Mysql优化---B树与索引


    3.SQL优化

    原因:性能低、执行时间太长、等待时间太长、SQL语句欠佳(连接查询)、索引失效、服务器参数设置不一致。

    a.SQL:

    编写过程:select dinstinct .. from .. join.. on.. where ..group by .. having .. order by ..limit
    
    解析过程:
    
                  from..on..  join.. where.. 
    
    • 1
    • 2
    • 3
    • 4
    • 5

    b.SQL优化,主要就是 在优化索引

       索引: 相当于书的目录
    
       索引:index是帮助MYSQL高效  获取数据的数据结构。索引是数据结构(树:B树(默认)、Hash树...)
    
        索引的弊端:
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 索引本身很大,可以存放在内存/硬盘(通常为硬盘)
    2. 索引不是所有情况均适用:a. 数据量少 b. 频繁更新的字段 c.很少使用的字段
    3. 会降低增删改的效率(增删改 查)
      优势:
      1.提高查询效率(降低IO使用率)
      2.降低CPU使用率(…order by age desc. 因为 B树索引 本身就是一个 好的排序的结构,因此在排序时可以直接使用)
    4. 索引
      分类:
      • 主键索引:不能重复,id, 不能为NULL。
      • 单值索引:单列,age:一个表可以多个单值索引,name。
      • 唯一索引:不能重复,id。
      • 复合索引:多个列构成的索引(相当于二级目录:z: zhao)。
    5. 创建索引:
      方式一:
      create 索引类型 索引名 on 表(字段)
      单值:create index dept_index on tb(dept);
      唯一:create unique index name_index on tb(name);
      复合索引:create index cept_name_index on tb(dept, name);
      方式二:
      单值:
      alter table tb add index dept_index(dept);
      唯一:
      alter table tb add unique index name_index(name);
      复合索引
      alter table tb add index dept_name_index(dept, name);
      删除索引:
      drop index 索引名 on 表名;
      drop index name_index on tb;
      查询索引:
      show index from 表名;
      show index from 表名 \G

    5.SQL性能问题

    a. 分析SQL的执行计划:explain , 可以模拟SQL优化执行SQL语句,从而让开发人员知道自己编写的效果

    b. Mysql查询优化其会干扰我们的优化

  • 相关阅读:
    【CSDN|每日一练】幼稚班作业
    章鱼应用链|UniqueOne 构建一体化的 NFT 和元宇宙的体验
    vue轮播图使用swiper插件
    【408数据结构与算法】—栈和队列(七)
    经常散步好不好?60以上老人3个好处收入囊中,但有3点要注意
    华为智能企业上网行为管理安全解决方案(2)
    EI论文程序:Adaboost-BP神经网络的回归预测算法,可作为深度学习对比预测模型,丰富实验内容,自带数据集,直接运行!
    升级 jQuery:努力打造健康的 Web 生态
    注塑行业MES系统解决方案,打造数字化智能工厂 先达智控
    RK3568平台开发系列讲解(图像篇)JPEG图像处理
  • 原文地址:https://blog.csdn.net/qq_52001969/article/details/125450428
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号