Mysql
文章平均质量分 65
mysql
逆流者blog
不登高山,不知天之高也;不临深溪,不知地之厚也。
展开
-
MySql 锁机制
简介 锁是计算机协调多个进程或线程并发访问某一资源的机制。 在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。 锁的分类 从对数据操作的类型(读\写)分 读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会互相影响。 写锁(排它锁):当前写操作没有完成前,它会阻断其他写锁和读原创 2021-04-05 12:55:34 · 70 阅读 · 0 评论 -
Mysql 查询优化
使用索引 准备工作: drop table if EXISTS staffs; CREATE TABLE staffs ( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR (24) NULL DEFAULT '' COMMENT '姓名', age INT NOT NULL DEFAULT 0 COMMENT '年龄', pos VARCHAR (20) NOT NULL DEFAULT '' COMMENT '职位', add_time原创 2021-04-05 09:05:22 · 100 阅读 · 0 评论 -
Mysql 全局查询日志
千万不要在生产环境开启全局查询日志!!! 千万不要在生产环境开启全局查询日志!!! 千万不要在生产环境开启全局查询日志!!! 配置启用 在mysql的my.cnf(linux)或者my.ini(windows)中,设置如下: # 开启 general_log=1 # 记录日志文件的路径 general_log_file=/path/logfile # 输出格式 log_output=FILE 编码启用 开启 set global general_log=1; 全局日志可以存放到日志文件中,也可以存原创 2021-04-04 22:18:06 · 192 阅读 · 0 评论 -
Mysql Show Profile
简介 mysql提供可以用来分析当前会话中语句执行的资源消耗情况,可以用于SQL的调优的测量。 官网:https://dev.mysql.com/doc/refman/8.0/en/show-profile.html 默认情况下,参数处于关闭状态,并保存最近15次的运行结果。 分析步骤 是否支持,看看当前的mysql版本是否支持 mysql> Show variables like 'profiling'; +---------------+-------+ | Variable_name |原创 2021-04-04 22:08:19 · 115 阅读 · 0 评论 -
Mysql 如何批量插入数据
比如你需要造一些压测数据,150万条,怎么快速做到呢? 下面使用存储函数和存储过程来批量插入数据。 # 1.创建数据库: create database bigData; use bigData; # 2.创建表: # 部门表 drop table if exists dept; create table dept( id int unsigned primary key auto_increment, deptno mediumint unsigned not null default 0, dname原创 2021-04-04 21:46:14 · 2633 阅读 · 0 评论 -
Mysql 慢查询日志
简介 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。 long_query_time的默认值为10,意思是运行10秒以上的语句。 默认情况下,MySQL数据库没有开启慢查询日志,需要我们手动来设置这个参数。 不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。 慢查询日志支持将日志记录写入文件 设置慢查询日志 默认情况下slow原创 2021-04-04 17:52:05 · 133 阅读 · 0 评论 -
Mysql 索引性能分析
MySQL常见瓶颈 CPU SQL中对大量数据进行比较、关联、排序、分组 最大的压力在于 比较 IO: 实例内存满足不了缓存数据或排序等需要,导致产生大量 物理 IO。 查询执行效率低,扫描过多数据行。 锁 不适宜的锁的设置,导致线程阻塞,性能下降。 死锁,线程之间交叉调用资源,导致死锁,程序卡住。 服务器硬件的性能瓶颈:top,free, iostat和vmstat来查看系统的性能状态 Explain 使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理SQL原创 2021-04-04 10:17:50 · 303 阅读 · 0 评论 -
你知道 Join 有多少种用法吗?
先看一张图,像不像数学中的集合,并集,交集,差集啥的。 下面我就用具体的例子来演示上图的7种情况: 新建两张表:t_emp和t_dept(员工表和部门表),这里约定一下,员工表t_emp代表图中A表,部门表t_dept代表图中B表。 创建表并插入数据: DROP TABLE IF EXISTS `t_emp`; DROP TABLE IF EXISTS `t_dept`; CREATE TABLE `t_dept` ( `id` INT(11) NOT NULL AUTO_INCREMENT COMME原创 2021-03-30 16:01:01 · 588 阅读 · 0 评论