摘要: 前言:对于MySQL的大小写敏感的影响,笔者在一个小项目中深刻的体会到:当想要查询一条数据时,总是出来两条或多条,后来发现是大小写敏感造成的原因,本文就该问题提出解决方案。 1.MySQL大小写敏感的控制 mysql是通过lower_case_table_names参数来控制大小写敏感的,该参数在[ 阅读全文
posted @ 2018-06-30 16:21 developer_chan 阅读(59466) 评论(2) 推荐(1) 编辑
摘要: 前言:本来小表驱动大表的知识应该在前面就讲解的,但是由于之前并没有学习数据批量插入,因此将其放在这里。在查询的优化中永远小表驱动大表。 1.为什么要小表驱动大表呢 类似循环嵌套 如果小的循环在外层,对于数据库连接来说就只连接5次,进行5000次操作,如果1000在外,则需要进行1000次数据库连接, 阅读全文
posted @ 2018-06-30 16:09 developer_chan 阅读(30970) 评论(10) 推荐(12) 编辑
摘要: 前言:本章主要讲解MySQL主从复制的操作步骤。由于环境限制,主机使用Windows环境,从机使用用Linux环境。另外MySQL的版本最好一致,笔者采用的MySQL5.7.22版本,具体安装过程请查询相关资料。 1.主从复制的基本原理 slave会从master读取binlog来进行数据同步。主要 阅读全文
posted @ 2018-06-30 14:52 developer_chan 阅读(3076) 评论(1) 推荐(1) 编辑
摘要: 前言:前面学习了表锁的相关知识,本篇主要介绍行锁的相关知识。行锁偏向InnoDB存储引擎,开销大,加锁慢,会出现死锁,锁定粒度小,发生锁冲突的概率低,但并发度高。 0.准备 #1.创建相关测试表tb_innodb_lock,注意数据库引擎为InnoDB。 #2.创建索引。 1.行锁定基本演示 #1. 阅读全文
posted @ 2018-06-28 17:23 developer_chan 阅读(4787) 评论(0) 推荐(1) 编辑
摘要: 前言:锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算机资源(如CPU、RAM、I/O等)的争用外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据并发访问性能的一个重要因素。从这个角度来说,锁对数据 阅读全文
posted @ 2018-06-28 10:03 developer_chan 阅读(3420) 评论(3) 推荐(1) 编辑
摘要: MySQL高级知识(一)——基础 MySQL高级知识(二)——Join查询 MySQL高级知识(三)——索引 MySQL高级知识(四)——Explain MySQL高级知识(五)——索引分析 MySQL高级知识(六)——索引优化 MySQL高级知识(七)——索引面试题分析 MySQL高级知识(八)— 阅读全文
posted @ 2018-06-27 16:47 developer_chan 阅读(14383) 评论(1) 推荐(9) 编辑
摘要: 前言:全局查询日志用于保存所有的sql执行记录,该功能主要用于测试环境,在生产环境中永远不要开启该功能。 1.如何开启 #1.通过my.cnf配置开启该功能。 注:对my.cnf文件配置后,需重启mysql。 ①通过命令查看全局查询日志是否开启成功。 ②查看全log_globalquery.log文 阅读全文
posted @ 2018-06-27 16:36 developer_chan 阅读(2456) 评论(0) 推荐(0) 编辑
摘要: 前言:Show Profile是mysql提供的可以用来分析当前会话中sql语句执行的资源消耗情况的工具,可用于sql调优的测量。默认情况下处于关闭状态,并保存最近15次的运行结果。 1.分析步骤 #1.开启Show Profile功能,默认该功能是关闭的,使用前需开启。 #2.根据MySQL高级知 阅读全文
posted @ 2018-06-27 15:42 developer_chan 阅读(13219) 评论(1) 推荐(3) 编辑
摘要: 前言:使用脚本进行大数据量的批量插入,对特定情况下测试数据集的建立非常有用。 0.准备 #1.创建tb_dept_bigdata(部门表)。 #2.创建tb_emp_bigdata(员工表)。 #3.开启log_bin_trust_function_creators参数。 由于在创建函数时,可能会报 阅读全文
posted @ 2018-06-26 23:26 developer_chan 阅读(25469) 评论(1) 推荐(1) 编辑
摘要: 前言:慢查询日志是MySQL提供的一种日志记录,它记录MySQL中响应时间超过阈值的语句,具体指运行时间超过long_query_time值的sql语句,该sql语句会被记录到慢查询日志中。慢查询日志主要与explain进行联合分析。 1.如何开启慢查询日志 默认情况下,MySQL数据库没有开启慢查 阅读全文
posted @ 2018-06-26 15:51 developer_chan 阅读(3190) 评论(0) 推荐(1) 编辑