
MYSQL
云海无涯victory
记录生活点滴
展开
-
mysql 单表索引优化案例
#查询category_id为1且comments大于1 的情况下,views最多的article_id转载 2017-07-29 16:28:03 · 237 阅读 · 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 · 1235 阅读 · 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 · 181 阅读 · 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 · 204 阅读 · 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 · 304 阅读 · 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 · 1536 阅读 · 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 · 4153 阅读 · 2 评论 -
Mysql 优化之小表驱动大表
转载 2017-08-16 23:51:40 · 3262 阅读 · 0 评论 -
Mysql Explain 二
6、possible_keys 显示可能应用到这张表中的索引,一个或多个。查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询实际使用 7、key 实际使用的索引。如果为NULL,则没有使用索引,查询中若使用了覆盖索引(查询字段个数与复合索引刚好匹配一致),则该索引仅出现在key列表中。 8、key_len 表示索引中使用的字节数,可以通过该列计算查询中使用的索引长度。在不损失转载 2017-07-23 00:47:29 · 199 阅读 · 0 评论 -
Mysql Explain 一
1、explain + sql语句的结果字段 2、id select 查询的序列号,包含一组数字,表示查询中执行select子句或操作表的顺序 ①id相同,执行顺序由上到下。 ②id不同,如果是子查询,id序号会递增,id值越大优先级越高,越先被执行。 ③id相同不同,同时存在,如果相同可以认为是一组,从上往下顺序执行;所有组中,id越大,优先级越高,优先执行 3、select转载 2017-07-22 22:18:57 · 232 阅读 · 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 · 294 阅读 · 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 · 246 阅读 · 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 · 258 阅读 · 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 · 3004 阅读 · 1 评论