![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
高性能MySQL
远腾飞
平凡的脚步也可以走完伟大的行程。
这个世界上任何奇迹的产生都是经过千辛万苦的努力而得的,首先承认自己的平凡,然后用千百倍的努力来弥补平凡。不要在应该奋斗的年华里,选择安逸。
展开
-
MySQL的架构与历史
1.1 MySQL的逻辑架构1.2 并发控制问题:如果某个客户正在读取邮件,同时另外一个用户视图删除编号为25的邮件,会产生什么结果?结论是不确定。答:解决这类经典问题的方法就是并发控制。在处理并发读或者写时,可以通过实现一个由两种类型的锁组成的锁系统来解决问题。这两种类型的锁通常被称为共享锁(shared lock)和排他锁(exclusive lock),也叫读锁(read lock...原创 2019-07-18 17:19:17 · 99 阅读 · 0 评论 -
MySQL锁
1.我们为mylock表加read锁(读阻塞写例子)session_1session_2获得表mylock的READ锁定连接终端当前session可以查询该表记录 其他session也可以查询该表的记录当前session不能修改锁定的表其他session插入或者更新锁定表会一直等待获得锁: 当前session不能查其他表(其他表不管有没有加锁)其他s...原创 2019-07-24 00:13:06 · 138 阅读 · 0 评论 -
主从复制
1.mysql版本一致且后台以服务运行win7(主),linux(从)在win7上检查mysql是否启动services.msc在linux上检查mysql是否启动service mysql status;2.检查window和linux系统互相能ping通windowlinux3.主机(win7)修改my.ini配置文件3.1 [必须]主服务器唯一IDserv...原创 2019-07-24 18:56:32 · 95 阅读 · 0 评论 -
2.索引优化分析
1.常见通用的Join查询建表SQLCREATE TABLE `t_dept` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `deptName` VARCHAR(30) DEFAULT NULL, `address` VARCHAR(40) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=INNODB AUTO_...原创 2019-07-21 00:34:36 · 94 阅读 · 0 评论 -
慢查询日志
默认情况下,MySQL数据库没有开启慢查询日志,需要我们手动来设置这个参数。当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志记录写入文件查看是否开启及如何开启SHOW VARIABLES LIKE '%slow_query_log%';开启set global slow_query_log=1;那么开启了慢查...原创 2019-07-22 21:59:49 · 214 阅读 · 0 评论 -
批量数据脚本
1.创建函数,假如报错:This function has none of DETERMINISTIC…由于开启过慢查询日志,因为我们开启了 bin-log, 我们就必须为我们的function指定一个参数。show variables like 'log_bin_trust_function_creators';set global log_bin_trust_function_cre...原创 2019-07-22 23:21:22 · 186 阅读 · 0 评论 -
Show Profile
1.是否支持,看看当前的mysql版本是否支持show variables like 'profiling';2.开启功能,默认是关闭,使用前需要开启set profiling = on;原创 2019-07-23 00:09:14 · 132 阅读 · 0 评论