欢迎您的访问
专注架构,Java,数据结构算法,Python技术分享

MySQL高级教程

MySQ高级教程(十六):小表驱动大表

站长阅读(160)赞(0)

前言:本来小表驱动大表的知识应该在前面就讲解的,但是由于之前并没有学习数据批量插入,因此将其放在这里。在查询的优化中永远小表驱动大表。 1.为什么要小表驱动大表呢 类似循环嵌套 for(int i=5;.......) { for(int ...

MySQ高级教程(十五):主从复制

站长阅读(192)赞(0)

前言:本章主要讲解MySQL主从复制的操作步骤。由于环境限制,主机使用Windows环境,从机使用用Linux环境。另外MySQL的版本最好一致,笔者采用的MySQL5.7.22版本,具体安装过程请查询相关资料。 1.主从复制的基本原理 s...

MySQ高级教程(十四):行锁

站长阅读(153)赞(0)

前言:前面学习了表锁的相关知识,本篇主要介绍行锁的相关知识。行锁偏向InnoDB存储引擎,开销大,加锁慢,会出现死锁,锁定粒度小,发生锁冲突的概率低,但并发度高。 0.准备 #1、创建相关测试表tb_innodb_lock,注意数据库引擎为...

MySQ高级教程(十三):表锁

站长阅读(156)赞(0)

前言:锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算机资源(如CPU、RAM、I/O等)的争用外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是...

MySQ高级教程(十二):全局查询日志

站长阅读(185)赞(0)

前言:全局查询日志用于保存所有的sql执行记录,该功能主要用于测试环境,在生产环境中永远不要开启该功能。 1.如何开启 #1、通过my.cnf配置开启该功能。 注:对my.cnf文件配置后,需重启mysql。 ①通过命令查看全局查询日志是否...

MySQ高级教程(十一):Show Profile

站长阅读(209)赞(0)

前言:Show Profile是mysql提供的可以用来分析当前会话中sql语句执行的资源消耗情况的工具,可用于sql调优的测量。默认情况下处于关闭状态,并保存最近15次的运行结果。 1.分析步骤 #1、开启Show Profile功能,默...

MySQ高级教程(十):批量插入数据脚本

站长阅读(212)赞(0)

前言:使用脚本进行大数据量的批量插入,对特定情况下测试数据集的建立非常有用。 0.准备 #1、创建tb_dept_bigdata(部门表)。 create table tb_dept_bigdata( id int unsigned pri...

MySQ高级教程(九):慢查询日志

站长阅读(191)赞(0)

前言:慢查询日志是MySQL提供的一种日志记录,它记录MySQL中响应时间超过阈值的语句,具体指运行时间超过long_query_time值的sql语句,该sql语句会被记录到慢查询日志中。慢查询日志主要与explain进行联合分析。 1....

MySQ高级教程(八):ORDER BY优化

站长阅读(182)赞(0)

前言:在使用order by时,经常出现Using filesort,因此对于此类sql语句需尽力优化,使其尽量使用Using index。 0.准备 #1、创建test表。 drop table if exists test; creat...

MySQ高级教程(七):索引面试题分析

站长阅读(150)赞(0)

前言:该篇随笔通过一些案例,对索引相关的面试题进行分析。 0.准备 #1、创建test表(测试表)。 drop table if exists test; create table test( id int primary key auto...