MYSQL
云海无涯victory
记录生活点滴
展开
-
mysql 单表索引优化案例
#查询category_id为1且comments大于1 的情况下,views最多的article_id转载 2017-07-29 16:28:03 · 212 阅读 · 0 评论 -
mysql 索引失效行锁变表锁,间隙锁,锁定一行
1、索引失效行锁会变为表锁数据库表a字段为int,b字段为varchar,a,b分别存在索引update table_name set a=1 where b=40(varchar类型不加引号,索引失效)此时执行以下语句会阻塞等待update table_name set a=2 where b='50'2、间隙锁当我们用范围条件检索数据时,并请求共享或排他锁时,Inn转载 2017-08-22 23:08:29 · 1192 阅读 · 0 评论 -
mysql 主从复制
Mysql主从复制分三个步骤:1、master将改变记录的二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log events。2、slave 将master的binary log events拷贝到它的中继日志(relay log)。3、salve 重做中继日志中的事件,将改变应用到自己的数据库中,Mysql复制是异步且串行化的。基本原则:1原创 2017-08-25 22:29:45 · 171 阅读 · 0 评论 -
mysql show profile
1、默认处于关闭状态,并保存最近15次的运行结果2、查看当前版本是否支持3、开启set profiling=on;4、查看5、诊断SQL,show profile cpu,block io for query +query_id查询的类型可以为:ALL-------显示所有信息block id------显示块IO信息context sw转载 2017-08-21 21:16:44 · 180 阅读 · 0 评论 -
mysql慢查询日志
1、mysql的慢查询日志是mysql提供的一种日志记录,它用来记录在mysql中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中2、long_querytime的默认值为10,运行10秒以上的语句会被记录,可以更改此值来筛选我们的慢SQL。3、默认mysql数据库未开启,如果不是调优需要,一般不建议开启。4、查看是否开启和如转载 2017-08-21 20:06:34 · 280 阅读 · 0 评论 -
为排序使用索引 Orderby优化
1、msyql两种排序方式:文件排序或扫描有序索引排序2、msyql能为排序与查询使用相同的索引 KEY a_b_c(a,b,c)order by 能使用索引最左前缀--order by a--order by a,b--order by a,b,c--order by a asc,b asc,c asc(同升)--order by a desc,b desc,转载 2017-08-21 16:32:15 · 1499 阅读 · 0 评论 -
linux 下安装mysql5.7.19
1、下载简单说下https://www.mysql.com/downloads/--------点击community--------点击MySQL Community Server,选择相应版本下载即可2、在/usr/local建立文件夹mysql 将mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz解压进去#mkdir mysq原创 2017-08-20 22:33:07 · 4111 阅读 · 2 评论 -
Mysql 优化之小表驱动大表
转载 2017-08-16 23:51:40 · 3237 阅读 · 0 评论 -
Mysql Explain 二
6、possible_keys显示可能应用到这张表中的索引,一个或多个。查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询实际使用7、key实际使用的索引。如果为NULL,则没有使用索引,查询中若使用了覆盖索引(查询字段个数与复合索引刚好匹配一致),则该索引仅出现在key列表中。8、key_len表示索引中使用的字节数,可以通过该列计算查询中使用的索引长度。在不损失转载 2017-07-23 00:47:29 · 181 阅读 · 0 评论 -
Mysql Explain 一
1、explain + sql语句的结果字段2、idselect 查询的序列号,包含一组数字,表示查询中执行select子句或操作表的顺序①id相同,执行顺序由上到下。②id不同,如果是子查询,id序号会递增,id值越大优先级越高,越先被执行。③id相同不同,同时存在,如果相同可以认为是一组,从上往下顺序执行;所有组中,id越大,优先级越高,优先执行3、select转载 2017-07-22 22:18:57 · 208 阅读 · 0 评论 -
mysql 索引优化案例(索引失效)
注:内容来转自尚硅谷课程CREATE TABLE staffs(id INT PRIMARY KEY auto_increment,name VARCHAR(24) NOT NULL DEFAULT '' COMMENT '姓名',age INT NOT NULL DEFAULT 0 COMMENT '年龄',pos VARCHAR(20) NOT NULL DEFAULT转载 2017-07-30 18:46:35 · 278 阅读 · 0 评论 -
mysql 三个表索引优化案例
mysql> EXPLAIN SELECT * FROM class LEFT JOIN book ON class.card = book.card LEFT JOIN phone ON book.card = phone.card;+----+-------------+-------+------+---------------+------+---------+------+-----转载 2017-07-30 16:58:45 · 229 阅读 · 0 评论 -
mysql 两个表索引优化案例
1、EXPLAIN SELECT * FROM class LEFT JOIN book on class.card = book.card;mysql> EXPLAIN SELECT * FROM class LEFT JOIN book on class.card = book.card;+----+-------------+-------+------+-------------转载 2017-07-30 16:35:47 · 239 阅读 · 0 评论 -
CentOS 7修改字符启动方式
1、大家都知道之前修改启动方式,是修改/etc/inittab文件将d:5:initdefault中的5改为3,即可但是CentOS 7之后该文件不再使用,先看下内容文件中大概说明此文件已经不再使用而是使用systemd,默认启动的是default.target并了解到运行3需要设置multi-user.target来运行。于是我们进入/usr/lib/systemd/syst原创 2017-08-22 23:59:49 · 2976 阅读 · 1 评论