码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【MySQL】专栏合集,从基础概念到调优


    作者简介

    前言
    博主之前写过一个MySQL的系列,从基础概念、SQL到底层原理、优化,专栏地址:

    https://blog.csdn.net/joker_zjn/category_12305262.html?spm=1001.2014.3001.5482

    本文会是这个系列的清单,拉通来聊一聊Mysql从基础概念一直到优化的相关内容。

    目录

    目录

    1.基础概念和SQL

    2.SQL调优

    3.优化索引

    4.一些工程问题


    1.基础概念和SQL

    文章链接:

    MySQL基础概念和SQL__BugMan的博客-CSDN博客

    这一部分会聊一下MySQL的基础概念和SQL操作,主要包含以下内容:

    1. 什么是MySQL
    2. 关系型、非关系型数据库区别
    3. MySQL的架构
    4. MySQL的一些基础概念
    5. MySQL的数据类型
    6. MySQL的SQL

    1.什么是MySQL

    开源、轻量级的一款关系型数据库,在业内有着广泛应用。

    2.关系型、非关系型数据库的区别

    其实就是数据组织方式的不同,关系型数据库中数据有严格的格式约束,而非关系型数据库里没有。

    3.MySQL的架构

    MySQL的逻辑架构由三层组成,一个MySQL实例中可以有多个库,一个库里面可以有多张表,一张表里面可以有多个字段。

    4.MySQL的一些基础概念

    主要就是要搞清楚,什么是主键?什么是外键?什么是索引?

    5.MySQL的数据类型

    MySQL下设三大类的数据类型:数值、字符串、日期/时间,三大类型中会各自包含具体的小类型,比如数值中会包含BIGINT、FLOAT、DOUBLE等,字符串中会包含CHAR、VARCHAR等。

    6.SQL

    SQL上重要的内容主要分为两个方面:

    1. 操作表和库,包含创建、删除、调整结构等
    2. 操作数据,包含对数据的增加、删除、修改、查询

    2.SQL调优

    文章链接:

    详解MySQL索引失效_mysql复合索引失效__BugMan的博客-CSDN博客

    当MySQL在实际生产环境中,数据量堆积到一定量级后原来的一些查询SQL的速度会变慢,这时候就需要对原来的SQL进行调优,使得其速度能够重新起来。SQL调优也是数据库优化的一个核心点。SQL调优的核心其实就是建出合理的索引,用空间换时间。

    这一部分包含:

    1. B树、B+树
    2. 哪些情况索引会失效

    1.B树、B+树

    B树是一种常见的自平衡树数据结构,广泛用于数据库系统和文件系统等需要高效插入、删除和查找操作的应用中。因为MySQL是将数据存在磁盘上的,如果查找的层级很多的话,意味着寻道、磁头的机械动作就会出现多次,这无疑是很耗时的,所以如果查找的层级少的话,会有很不错的效率。B树就是一种层级很少,但是能存海量数据的树形结构。文中会对B树的数据结构、完整的建树过程、存储数据的容量给出详述,以及对B树的优化结构B+树给出介绍。

    2.哪些情况索引会失效

    其实索引会失效的根本原因就是违反了B树的数据结构,让精准匹配无法走下去了。文章中将会对以下几类常见的索引失效的情况做出详细介绍:

    • 没有用到索引
    • 违反左前缀原则
    • 范围查询断索引
    • like需要分情况
    • 结果数据超过半数

    3.优化索引

    文章链接:

    详解MySQL覆盖索引、索引下推__BugMan的博客-CSDN博客

    SQL调优,只是建了合适的索引,但是有时候索引机制自身也是需要优化的,这一部分会围绕如何优化索引机制来聊一聊,包含:

    1. 覆盖索引
    2. 索引下推

    1.覆盖索引

    MySQL天生自带“回表查询”问题,覆盖索引,是为了避免“回表查询”,从而降低查询耗时的一种使用索引的方法。文章中会详细讲述什么是“回表查询”以及如何使用覆盖索引来解决回表问题。

    2.索引下推

    索引下推,是自MySQL5.6版本引入的一个新特性,目的也是减少“回表查询”,从而提升整体的查询效率。文中会详细聊一下什么是索引下推,如何解决的回表问题。

    4.一些工程问题

    文章链接:

    数据库如何合理生成主键:UUID、雪花算法_主键算法__BugMan的博客-CSDN博客

    实际工程中如何合理生成数据库主键是个问题。首先在实际工程中我们很少用1,2,3......这样的自增主键,比如我要跨数据库进行数据同步、或者在分布式系统中跨“分区”进行数据同步,不难想象,1,2,3......这种递增的单数字是极容易产生冲突的。文章中将会详细介绍主键的一些生成算法,比如UUID、雪花算法等。

  • 相关阅读:
    共建“医疗合规科技实验室”,美创科技实力护航医疗数据安全
    Spring boot @ConditionalOnProperty 使用以及作用
    Django学习一:创建Django框架,介绍Django的项目结构和开发逻辑。创建应用,编写主包和应用中的helloworld
    jvm深入研究文档--java代码的执行
    JS(javascript)面试题 7点一次过 => 必会之八股文
    小红书达人怎么对接,博主沟通流程汇总!
    【Java】SpringData JPA快速上手,关联查询,JPQL语句书写
    一图了解es6常用数据迭代函数map,filter,fill,reduce
    高等数学(第七版)同济大学 习题2-1 个人解答
    B-2:Linux系统渗透提权
  • 原文地址:https://blog.csdn.net/Joker_ZJN/article/details/132779668
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    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号