![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 76
liaokunxian
记录在学习过程中的一些笔记和总结
展开
-
MySQL服务器配置优化
背景 MySQL有大量可以修改的参数-但不应该随便去修改。通常只需要把基本的项配置正确, 应该将更多的时间花在schema的优化、索引,以及查询设计上 MySQL配置的工作原理 配置文件位置 /etc/my.cnf /etc/mysql/my.cnf 配置文件通常分成多个部分,每个部分的开头是一个用方括号括起来的分段名称,MySQL程序通常读取跟它同名的分段部分,许多客户端程序海水读取client部分,这是一个存放公用设置的地方。服务器通常读取mysqld这一段。一定要确认配置项放在了文件正确的分段原创 2021-01-06 18:41:38 · 196 阅读 · 0 评论 -
MySQL字符集
字符集和校对 字符集是指一种从二进制编码到某类字符符号的映射,可以参考如何使用一个字节来表示英文字母。“校对”是指一组用于某个字符集的排序规则。MySQL4.1和之后的版本中,每一类编码字符都有其对应的字符集和校对规则。MySQL对各种字符集的支持非常完善,但是这也带来了一定的复杂性,某些场景下甚至会有一定的性能牺牲。 MySQL如何使用字符集 每种字符集都可能有多种校对规则,并且都有一个默认的校对规则。每个校对规则都是针对某个特定的字符集,和其他的字符集没有关系。校对规则和字符集总是一起使用的,所以后面我原创 2021-01-06 18:40:43 · 89 阅读 · 0 评论 -
MySQL查询性能优化
为什么查询速度会慢 如果把查询看作是一个任务,那么它由一系列子任务组成,每个子任务都会消耗一定时间。 如果想优化查询,实际上要优化其子任务,要么消除其中一些任务,要么减少任务的执行次数,要么让子任务运行得更快。 查询的生命周期 从客户端到服务器,然后在服务器进行解析,生成执行计划,执行,执行可以是整个生命周期中最重要的阶段,这其中包括了大量为了检索数据到存储引擎的调用以及调用后的数据处理,包括排序、分组等。 慢查询基础:优化数据访问 查询性能低下最基本的原因是访问的数据太多 确认应用程序是否在检原创 2021-01-06 18:38:54 · 242 阅读 · 0 评论 -
MySQL索引
前言 索引是存储引擎用于快速找到记录的一种数据结构。 索引对于良好的性能非常关键。尤其是当表中的数据量越来越大时,索引对性能的影响愈发重要。在数据量较小且负载较低时,不恰当的索引对性能可能还不明显,但当数据量逐渐增大时,性能则会急剧下降。 索引优化应该是对查询性能优化最有效的手段了。 索引基础 要理解索引工作的原理,就好比你看一本书,你会先看书的目录,然后找到对应主题的页码,再根据页码翻到指定的页。 索引的类型 索引有很多种类型,可以为不同的场景提供更好的性能。在MySQL中,索引是在存储引擎层而不是服原创 2021-01-06 18:32:46 · 103 阅读 · 0 评论 -
数据库三大范式
范式与反范式 第一范式:第一范式 就是 无重复的列, 有唯一标识 ,能够区分不同的行 第二范式: 满足第一范式 非主键的列必须完全依赖于主键,而不能仅仅是依赖主键的其中某个列 第三范式: 非主键列必须直接依赖主键,不能存在传递依赖。换句话说,就是假设A是主键,那么B,C都是直接依赖A,而不能是C依赖B,B依赖A这种传递依赖方式。 对于任何给定的数据通常都有很多种表示方式,从完全的范式化到完全的反范式化,以及两者的这种。在范式化的数据库中,每个事实数据会出现并且只出现一次。相反,在反范式化的数据库表中,信原创 2021-01-06 18:31:49 · 154 阅读 · 1 评论 -
MySQL架构与特性
架构 将查询处理(Query Processing)及其他系统任务(Server Task)和数据的存储/提取分离。 这种处理和存储分离的设计可以在使用时根据性能、特性,以及其他需求来选择数据存储的方式。 连接管理与安全性 每个客户端连接都会与服务器进程中拥有一个线程,这个连接的查询只会在这个单独的线程中执行。服务器会负责缓存线程,因此不需要为每一个新建的连接创建或销毁线程,即服务器会拥有一个线程池。 当客户端(应用)连接到MySQL服务器时,服务器需要对其进行认证。认证基于用户名、原始主机信息和密码。原创 2021-01-06 18:29:53 · 202 阅读 · 3 评论