首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

好文 | Zabbix监控 MYSQL,Mysql 版本基准性能比较,Mysql8.0主主配置

Slave节点上启动两个线程:一个IO线程,从MySQL上捞取Binlog日志并写入到本地的RelayLog日志;另一个SQL线程,不断的从RelayLog日志中读取日志并解析执行。...,也就是所有在主库上的操作,在从库上是串行回放的。...点击查看大图 说明: MySQL 8.0的结果趋势显示出其处理事务所需的时间的巨大变化。纵轴数值越低,表示性能越好,处理事务的速度越快。(图二)处理的事务统计表显示出两个版本处理事务数量没有差异。...两个版本处理事务数量几乎相同,但完成速度不同。MySQL 5.7在较低的负载下可以执行大量事务,但是实际负载或生产中可能更高,特别是在繁忙时期。 ?...最有效的扫描顺序混合某些列的升序和其他列的降序时,降序索引还使优化器可以使用多列索引。 CPU资源 ?

1.4K30

20道BAT面试官最喜欢问的JVM+MySQL面试题(含答案解析)

通常需要为表加上一个列,以存储 各个实例的惟一标识。这个惟一属性列被称为主关键字或主键。 3. 满足第三范式(3NF)必须先满足第二范式(2NF)。...简而言之,第三 范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关 键字信息。 >所以第三范式具有如下特征: >>1. 每一列只有一个 值 >>2. 每一行都能区分。 >>3....UNION ALL 要比 UNION 快很多,所以,如果可以确认合并的两个结 果集中不包含重复数据且不需要排序时的话,那么就使用 UNION ALL。...唯一索引: 与普通索引类似,不同的就是:MySQL 数据库索引列的值 必须唯一,但允许有空值 3. 主键索引: 它是一种特殊的唯一索引,不允许有空值。一般是在建表的 时候同时创建主键索引 4....主服务器将 更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。这些日志 可以记录发送到从服务器的更新。 当一个从服务器连接主服务器时,它通知主 服务器在日志中读取的最后一次成功更新的位置。

72800
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL数据库常见面试题总结

    ;二是表中非主键列必须完全依赖于主键,不能只依赖于主键的一部分; 第三范式(3NF):在 2NF 的基础上,消除非主键列对主键的传递依赖,非主键列必须直接依赖于主键。...经常用于连接的列上,这些列主要是一些外键,可以加快连接的速度; 作为主键的列上,强制该列的唯一性和组织表中数据的排列结构; (2)不在哪些列建索引? 区分度不高的列。...index_merge:表示查询使用了两个以上的索引,索引合并的优化方法,最后取交集或者并集,常见and ,or的条件使用了不同的索引。...(8)ref:显示哪个字段或者常量与key一起被使用 (9)rows:根据表统计信息及索引选用情况,大致估算此处查询需要读取的行数,不是精确值。...优点: 解决了单表数据量过大的问题 避免IO竞争并减少锁表的概率 (2)水平分库:把同一个表的数据按照一定规则拆分到不同的数据库中,不同的数据库可以放到不同的服务器上。

    39320

    开发人员不得不知的MySQL索引和查询优化

    索引相关 索引基数 基数是数据列所包含的不同值的数量,例如,某个数据列包含值 1、3、7、4、7、3,那么它的基数就是 4。...索引的基数相对于数据表行数较高(也就是说,列中包含很多不同的值,重复的值很少)的时候,它的工作效果最好。...如果某数据列含有很多不同的年龄,索引会很快地分辨数据行;如果某个数据列用于记录性别(只有“M”和“F”两种值),那么索引的用处就不大;如果值出现的几率几乎相等,那么无论搜索哪个值都可能得到一半的数据行。...MySQL 中无法利用索引完成的排序操作称为“文件排序”,其实不一定是文件排序,内部使用的是快排。 using temporary:使用了临时表保存中间结果,MySQL 在对查询结果排序时使用临时表。...range:只检索给定范围的行,使用一个索引来选择行。key 列显示使用了哪个索引,一般就是在你的 where 语句中出现 between、、in 等的查询。

    78120

    mysql基本知识点梳理和查询优化

    一、索引相关 1、索引基数 基数是数据列所包含的不同值的数量,例如,某个数据列包含值1、3、7、4、7、3,那么它的基数就是4。...索引的基数相对于数据表行数较高(也就是说,列中包含很多不同的值,重复的值很少)的时候,它的工作效果最好。...如果某数据列含有很多不同的年龄,索引会很快地分辨数据行;如果某个数据列用于记录性别(只有“M”和“F”两种值),那么索引的用处就不大;如果值出现的几率几乎相等,那么无论搜索哪个值都可能得到一半的数据行。...EXPLAIN显示的索引类型会显示index_merge,EXTRA会显示具体的合并算法和用到的索引。...MySQL中无法利用索引完成的排序操作称为“文件排序”,其实不一定是文件排序,内部使用的是快排; using temporary:使用了临时表保存中间结果,MySQL在对查询结果排序时使用临时表。

    60510

    开发人员不得不知的MySQL索引和查询优化

    索引相关 索引基数 基数是数据列所包含的不同值的数量,例如,某个数据列包含值 1、3、7、4、7、3,那么它的基数就是 4。...索引的基数相对于数据表行数较高(也就是说,列中包含很多不同的值,重复的值很少)的时候,它的工作效果最好。...如果某数据列含有很多不同的年龄,索引会很快地分辨数据行;如果某个数据列用于记录性别(只有“M”和“F”两种值),那么索引的用处就不大;如果值出现的几率几乎相等,那么无论搜索哪个值都可能得到一半的数据行。...MySQL 中无法利用索引完成的排序操作称为“文件排序”,其实不一定是文件排序,内部使用的是快排。 using temporary:使用了临时表保存中间结果,MySQL 在对查询结果排序时使用临时表。...range:只检索给定范围的行,使用一个索引来选择行。key 列显示使用了哪个索引,一般就是在你的 where 语句中出现 between、、in 等的查询。

    64710

    开发人员不得不知的MySQL索引和查询优化

    索引相关 索引基数 基数是数据列所包含的不同值的数量,例如,某个数据列包含值 1、3、7、4、7、3,那么它的基数就是 4。...索引的基数相对于数据表行数较高(也就是说,列中包含很多不同的值,重复的值很少)的时候,它的工作效果最好。...如果某数据列含有很多不同的年龄,索引会很快地分辨数据行;如果某个数据列用于记录性别(只有“M”和“F”两种值),那么索引的用处就不大;如果值出现的几率几乎相等,那么无论搜索哪个值都可能得到一半的数据行。...MySQL 中无法利用索引完成的排序操作称为“文件排序”,其实不一定是文件排序,内部使用的是快排。 using temporary:使用了临时表保存中间结果,MySQL 在对查询结果排序时使用临时表。...range:只检索给定范围的行,使用一个索引来选择行。key 列显示使用了哪个索引,一般就是在你的 where 语句中出现 between、、in 等的查询。

    84520

    MySQL索引和查询优化

    索引相关 索引基数 基数是数据列所包含的不同值的数量,例如,某个数据列包含值 1、3、7、4、7、3,那么它的基数就是 4。...索引的基数相对于数据表行数较高(也就是说,列中包含很多不同的值,重复的值很少)的时候,它的工作效果最好。...如果某数据列含有很多不同的年龄,索引会很快地分辨数据行;如果某个数据列用于记录性别(只有“M”和“F”两种值),那么索引的用处就不大;如果值出现的几率几乎相等,那么无论搜索哪个值都可能得到一半的数据行。...MySQL 中无法利用索引完成的排序操作称为“文件排序”,其实不一定是文件排序,内部使用的是快排。 using temporary:使用了临时表保存中间结果,MySQL 在对查询结果排序时使用临时表。...range:只检索给定范围的行,使用一个索引来选择行。key 列显示使用了哪个索引,一般就是在你的 where 语句中出现 between、、in 等的查询。

    1.3K118

    mysql基本知识点梳理和查询优化

    2索引相关 1.索引基数:基数是数据列所包含的不同值的数量。例如,某个数据列包含值1、3、7、4、7、3,那么它的基数就是4。...索引的基数相对于数据表行数较高(也就是说,列中包含很多不同的值,重复的值很少)的时候,它的工作效果最好。如果某数据列含有很多不同的年龄,索引会很快地分辨数据行。...,很多时候不同的写法经过sql分析之后实际执行的代码是一样的 提高性能的特性 索引覆盖(covering index):需要查询的数据在索引上都可以查到不需要回表 EXTRA列显示using index...MySQL中无法利用索引完成的排序操作称为“文件排序” ,其实不一定是文件排序,内部使用的是快排 2、using temporary: 使用了临时表保存中间结果,MySQL在对查询结果排序时使用临时表...,任何不同的二进制编码都是不同的,因此在utf8_bin排序规则下:äa sql yog中初始连接指定编码类型使用连接配置的初始化命令 ?

    64230

    MySQL基本知识点梳理和查询优化

    一、索引相关 1、索引基数:基数是数据列所包含的不同值的数量。例如,某个数据列包含值1、3、7、4、7、3,那么它的基数就是4。...索引的基数相对于数据表行数较高(也就是说,列中包含很多不同的值,重复的值很少)的时候,它的工作效果最好。如果某数据列含有很多不同的年龄,索引会很快地分辨数据行。...EXPLAIN显示的索引类型会显示index_merge,EXTRA会显示具体的合并算法和用到的索引 extra字段 1、using filesort: 说明MySQL会对数据使用一个外部的索引排序,...MySQL中无法利用索引完成的排序操作称为“文件排序” ,其实不一定是文件排序,内部使用的是快排 2、using temporary: 使用了临时表保存中间结果,MySQL在对查询结果排序时使用临时表...,任何不同的二进制编码都是不同的,因此在utf8_bin排序规则下:äa 5、sql yog中初始连接指定编码类型使用连接配置的初始化命令 四、SQL语句总结 常用的但容易忘的: 1、如果有主键或者唯一键冲突则不插入

    10510

    MySQL DBA基本知识点梳理和查询优化

    一、索引相关 ---- 索引基数:基数是数据列所包含的不同值的数量。例如,某个数据列包含值1、3、7、4、7、3,那么它的基数就是4。...索引的基数相对于数据表行数较高(也就是说,列中包含很多不同的值,重复的值很少)的时候,它的工作效果最好。如果某数据列含有很多不同的年龄,索引会很快地分辨数据行。...如果某个数据列用于记录性别(只有"M"和"F"两种值),那么索引的用处就不大。如果值出现的几率几乎相等,那么无论搜索哪个值都可能得到一半的数据行。...MySQL中无法利用索引完成的排序操作称为“文件排序” ,其实不一定是文件排序,内部使用的是快排 2. using temporary: 使用了临时表保存中间结果,MySQL在对查询结果排序时使用临时表...,任何不同的二进制编码都是不同的,因此在utf8_bin排序规则下:äa sql yog中初始连接指定编码类型使用连接配置的初始化命令 ?

    87010

    MySQL高级

    ,降低数据IO成本 通过索引列对数据进行排序,降低数据排序的成本,降低CPU消耗 2.2、劣势 索引也是一张表,保存了主键和索引字段,并指向实体类记录,故索引也要占用空间 增删改操作表数据,则索引也需要调整...,降低操作速度 2.3、索引的分类 单值索引:即一个索引只包含单个列,一个表可以有多个单值索引 唯一索引:索引列的值必须唯一,但允许多个空值 复合索引:即一个索引包含多个列 2. 4、索引的语法 创建索引...2)id不同id值越大,优先级越高,越先被执行 3. 2、explain之select_type 1)SIMPLE:简单的select查询,查询中不包含子查询或union 2)PRIMARY...哪些列或常量被用于查找索引列上的值 3. 8、explain之extra 1)using filesort:mysql会对数据使用一个外部的索引排序,而不是根据表内的顺序进行读取,称为文件排序...2)using temporary:使用临时表保存中间结果,MySQL在对查询结果排序时使用临时表。

    9810

    MySQL【知识改变命运】05

    where语句是不能用别名当作过滤条件: 因为第一步:from 找到这个表 第二步:定位符合条件的数据行 where 第三步:根据过滤后的结果集中抽取要显示的列,表达式 所有在执行where字句时...查询同学各⻔成绩,依次按数学降序,英语升序,语⽂升序的⽅式显⽰ 类似于查字典,先会排math ,然后English,最后chinese 查询同学及总分,由⾼到低排序 我们思考个问题oder...原因: 第一步:先from; 第二步:select 定位数据: 第三步:排序; 所有其实在排序之前已经完成了别名的转化。...⾏排序 • NULL 进⾏排序时,视为⽐任何值都⼩,升序出现在最上⾯,降序出现在最下⾯ 补充的一些话:在数据库里面如果没有order by子句 或着 主键 就不会进行排序,虽然mysql底层会进行类似的排序...,但是因为版本不同可能会造成一些麻烦,所有建议设置主键或者order by。

    6610

    Server层表级别对象字典表 | 全方位认识 information_schema

    collation_connection系统变量的会话值 PS:MySQL可以使用不同的sql_mode的设置值来使server支持不同的SQL语法类型。...如果自存储程序创建以来从未修改过,则该列值与CREATED列值相同 SQL_MODE:表示创建或修改存储程序时MySQL Server的sql_mode值(该字段为 "MySQL extension"...:表示创建纯粹程序时的collation_connection系统变量会话值(该字段为 "MySQL extension" 列) DATABASE_COLLATION:表示创建存储程序时所在的数据库的排序规则...与EXECUTE_AT列类似,此值可解析定义语句中所使用的任何表达式并计算出结果值存放在该列中。...binlog重放方式在从库上创建的,事件运行状态在从库上被关闭 ON_COMPLETION:该列包含两个有效值,PRESVEVE、NOT PRESERVE CREATED:创建事件的日期和时间。

    1.1K20

    redis主从复制原理是同步还是异步_kubernetes高可用架构

    基于GTID的复制:   从服务器会告诉主服务器,已经在从服务器上已经执行完了哪些gtid值,然后主库会把从库未执行的事务gtid值发送给从库执行。同一个事务只在指定的从库上执行一次。...读写分离和负载均衡 Ø 读写分离主要解决的是如何在复制集群的不同角色上,去执行不同的sql语句的问题 Ø 读的负载均衡主要解决的是具有相同角色的数据库如何共同分担相同的负载的问题。...对于原来连接mysql的程序,除了要修改连接地址之外不用做任何的更改。 另一个是mysql服务器端协议插件,主要用于maxScale连接后端数据库来使用。...匹配列前缀查询 指的是匹配某一列的开头部分:order_sn like ‘xxx%’ 匹配范围值的查询 精确匹配左前列并范围匹配另外一列 比如定义了一个order_sn和order_date...Ø 经常使用到的列优先放最左 Ø 选择性高的列优先放最左 Ø 宽度小的列优先最左,宽度越小IO越小 覆盖索引   Btree索引可以进行排序分组等等,也可以直接获取我们想要的数据,btree索引的叶子节点上存储了索引的关键字的值

    75410

    数据库SQL语句大全——最常用的SQL语句

    SELECT * FROM product 过滤检索结果中的重复数据: SELECT DISTINCT market_price FROM product DISTINCT关键字: 1、返回不同的值,...使用时放在列名的前面 2、多查询一个及以上列时,除非你查询的所有列的数据都不同,否则所有行都将被检索出来 限制检索结果: SELECT pname FROM product LIMIT 5,5 limit5,5...,pname FROM product ORDER BY market_price,pname 按多个列排序时,排序列之间用,隔开,并且按列的顺序来排序数据,先排价格,后排名称 指定排序方向 降序排序...() 返回一个角度的正弦 SQRT() 返回一个数的平方根 TAN() 返回一个角度的正切 汇总数据 聚集函数 AVG() 返回某列的平均值 COUNT() 返回某列的行数 MAX() 返回某列的最大值...SELECT语句的执行顺序 SELECT 要返回的列或表达式 是 FROM 从中检索数据的表 仅在从表选择数据时使用 WHERE 行级过滤 否 GROUP BY 分组说明 仅在按组计算聚集时使用 HAVING

    3K30

    呕心沥血写了三天3两夜24k字的MySQL详细教程

    功能足够强大,足以应付web应用开发  第二章 MySQL的安装 卸载与使用         2.1 数据库启动 MySQL启动方式和普通的windows程序双击启动方式不同,分为以下2种: 1....SELECT * FROM student3 WHERE NAME LIKE '马__';         4.2排序 通过ORDER BY子句,可以将查询出的结果进行排序(排序只是显示方式,....         7.3 多对多 多对多(m:n) 例如:老师和学生,学生和课程,用户和角色 多对多关系建表原则: 需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向各自一方的主键。...8.3 第一范式 即数据库表的每一列都是不可分割的原子数据项,而不能是集合、数组、记录等非原子数据项。即实体中的某个属性有多个值时,必须拆分为不同的属性。...`id`;         9.3 内连接 用左边表的记录去匹配右边表的记录,如果符合条件的则显示                 9.3.1 隐式内连接 隐式内连接:看不到JOIN关键字,条件使用

    70040

    第11章、数据类型

    DATE 日期类型用于具有日期部分但没有时间部分的值。MySQL以'YYYY-MM-DD'格式检索并显示日期值,支持的范围是'1000-01-01' 到 '9999-12-31'。...默认情况下,每个连接的当前时区是服务器的时间。时区可以在每个连接的基础上设置。只要时区设置保持不变,您将获得与您存储的值相同的值。...max_sort_length排序时仅使用列 的第一个 字节。...当未启用严格模式时,仅第三条指令会抛出异常并回滚。前两个语句插入隐式默认值,但第三个失败,因为缺省值(i)不能产生值。...尽管磁盘上的存储布局有所不同,但内部MySQL APIs使用了适用于所有存储引擎的一致数据结构,通信并交换关于表行的信息。 本节包括MySQL支持的每个数据类型的存储要求的指导方针和信息。

    1.7K20

    MySQL数据库:explain执行计划详解

    (1)id值不同:id值越大优先级越高,越先被执行; (2)id值相同:从上往下依次执行; (3)id列为null:表示这是一个结果集,不需要使用它来进行查询。...(7)index_merge:表示查询使用了两个以上的索引,索引合并的优化方法,最后取交集或者并集,常见and ,or的条件使用了不同的索引。...(1)如果是使用的常量等值查询,这里会显示const。 (2)如果是连接查询,被驱动表的执行计划这里会显示驱动表的关联字段。...(3)如果是条件使用了表达式或者函数,或者条件列发生了内部隐式转换,这里可能显示为func。 9、rows: 表示MySQL根据表统计信息及索引选用情况,大致估算此处查询需要读取的行数,不是精确值。...使用了连接缓存:(1)Block Nested Loop:连接算法是块嵌套循环连接; (2)Batched Key Access:连接算法是批量索引连接 Not exists MYSQL优化了LEFT

    1.1K20
    领券