mysql
文章平均质量分 93
mysql基础
华子哥、
吊车尾就是不服输的意思!
展开
-
MYSQL_ 表结构设计和数据类型优化
2. 表结构设计和数据类型优化2.1. 数据库表设计良好的表结构设计是高性能的基石,应该根据系统将要执行的业务查询来设 计,这往往需要权衡各种因素。糟糕的表结构设计,会浪费大量的开发时间,严重延误项目开发周期,让人痛苦万分,而且直接影响到数据库的性能,并需要花 费大量不必要的优化时间,效果往往还不怎么样。在数据库表设计上有个很重要的设计准则,称为范式设计。2.1.1. 范式设计2.1.1.1. 什么是范式?范式来自英文 Normal Form,简称 NF。要想设计—个好的关系,必须使关系满足一定原创 2021-12-27 15:06:20 · 395 阅读 · 0 评论 -
MySQL_执行原理_(索引合并&链接查询&查询成本计算)
mysql 索引合并&链接查询&查询成本计算原创 2021-12-01 23:51:59 · 614 阅读 · 0 评论 -
mysql_性能优化三_高性能的索引使用策略
4.2.8.1. 不在索引列上做任何操作我们通常会看到一些查询不当地使用索引,或者使得 MySQL 无法使用已有的索引。如果查询中的列不是独立的,则 MySQL 就不会使用索引。“独立的列” 是指索引列不能是表达式的一部分,也不能是函数的参数。例如,我们假设 order_status 上有索引,但是下面这个查询无法使用 order_status 列的索引:mysql> SELECT * FROM order_exp WHERE order_status + 1 = 1 limit 2;+---原创 2021-11-29 23:17:59 · 978 阅读 · 0 评论 -
mysql_性能优化二_执行计划
TIPS 上面的说明里出现了几个新名字,这里稍微解释下,以后会有详解讲解。semi-join:半连接优化技术,本质上是把子查询上拉到父查询中,与父查询 的表做 join 操作。关键词是“上拉”。对于子查询,其子查询部分相对于父表的 每个符合条件的元组,都要把子查询执行一轮。效率低下。用半连接操作优化子 查询,是把子查询上拉到父查询中,这样子查询的表和父查询中的表是并列关系, 父表的每个符合条件的元组,只需要在子表中找符合条件的元组即可。简单来说, 就是通过将子查询上拉对父查询中的数据进行筛选,以使获取原创 2021-11-28 11:27:47 · 652 阅读 · 0 评论 -
mysql_性能优化一(慢查询分析)
4.1 总论MySQL 性能优化其实是个很大的课题,在优化上存在着一个调优金字塔的说法:很明显从图上可以看出,越往上走,难度越来越高,收益却是越来越小的。 比如硬件和 OS 调优,需要对硬件和 OS 有着非常深刻的了解,仅仅就磁盘一项来说,一般非 DBA 能想到的调整就是 SSD 盘比用机械硬盘更好,但其实它至少包括 了,使用什么样的磁盘阵列(RAID)级别、是否可以分散磁盘 IO、是否使用裸 设备存放数据,使用哪种文件系统(目前比较推荐的是 XFS),操作系统的磁盘 调度算法(目前比较推荐 dead原创 2021-11-27 16:24:49 · 873 阅读 · 0 评论 -
mysql_索引在查询中的使用和高性能索引创建策略
3.2.3. 深入思考索引在查询中的使用索引在查询中的作用到底是什么?在我们的查询中发挥着什么样的作用呢?请记住:1、一个索引就是一个 B+树,索引让我们的查询可以快速定位和扫描到我们需要的数据记录上,加快查询的速度。2、一个 select 查询语句在执行过程中一般最多能使用一个二级索引,即 使在 where 条件中用了多个二级索引。3.2.3.1. 扫描区间对于某个查询来说,最简单粗暴的执行方案就是扫表中的所有记录,判断 每一条记录是否符合搜索条件。如果符合,就将其发送到客户端,否则就跳过原创 2021-11-23 23:16:00 · 998 阅读 · 0 评论 -
mysql基础-InnoDB 中的索引
1. InnoDB 中的索引InnoDB 中的索引自然也是按照 B+树来组织的,前面我们说过 B+树的叶子节 点用来放数据的,但是放什么数据呢?索引自然是要放的,因为 B+树的作用本 来就是就是为了快速检索数据而 出的一种数据结构,不放索引放什么呢?但是 数据库中的表,数据才是我们真正需要的数据,索引只是辅助数据,甚至于一个 表可以没有自定义索引。InnoDB 中的数据到底是如何组织的?1. 聚集索引/聚簇索引InnoDB 中使用了聚集索引,就是将表的主键用来构造一棵 B+树,并且将整 张表的行记录数原创 2021-11-22 22:33:56 · 457 阅读 · 0 评论 -
mysql基础-索引-数据结构(二叉树,红黑树,B-Tree,B+Tree)
数据结构演示网站:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html原创 2021-11-14 16:34:35 · 1499 阅读 · 0 评论 -
mysql基础-事务和事务的隔离级别
1.4.1. 为什么需要事务事务是数据库管理系统(DBMS) 执行过程中的一个逻辑单位(不可再进行分割) , 由一个有限的数据库操作序列构成(多个 DML 语句, select 语句不包含事务) , 要不全部成功, 要不全部不成功。A 给 B 要划钱, A 的账户-1000 元, B的账户就要+1000 元, 这两个 update语句必须作为一个整体来执行, 不然 A 扣钱了, B 没有加钱这种情况就是错误的。那么事务就可以保证 A 、 B 账户的变动要么全部一起发生, 要么全部一起不发生。1.4.2.原创 2021-09-17 22:05:51 · 408 阅读 · 0 评论 -
mysql基础-mysql整体介绍2
需要注意的一点是:在一个MYSQL服务器中,系统表空间只有一份,从MYSQL5.5.7 到MYSQL5.5.6之间的各个版本中。我们表中的数据都会被默认存储到这个系统表空间原创 2021-07-07 23:06:06 · 183 阅读 · 0 评论 -
MySql 基础--mysql整体介绍
1.MySql 基础1.1. MySQL 体系架构可以看出 MySQL最上层是连接组件。下面服务器是由连接池、管理工具和服务、SQL接口、解析器、优化器、缓存、存储引擎、文件系统组成。连接池: 由于每次建立建立需要消耗很多时间,连接池的作用就是将这些连接缓存下来,下次可以直接用已经建立好的连接,提升服务器性能。管理工具和服务: 系统管理和控制工具,例如备份恢复、Mysql 复制、集群等SQL接口: 接受用户的 SQL命令,并且返回用户需要查询的结果。比如 SELECT from 就是调用 SQL原创 2021-07-05 22:57:57 · 168 阅读 · 0 评论