为了账号安全,请及时绑定邮箱和手机立即绑定
  • 1.查询次数多且每次查询占用时间长的SQL 通常为pt-query-digest分析的前几个查询 2.IO大的SQL 注意pt-query-digest分析中的Rows examine项 3.未命中索引的SQL 注意pt-query-digest分析中的Rows examine和Row send 的对比 当Rows examine>>Row send 基本上是使用了索引扫描或者表扫描的方式来进行查询,需要进行优化
    查看全部
  • http://dev.mysql.com/doc/sakila/en/sakila-installation.html http://dev.mysql.com/doc/index-other.html
    查看全部
    2 采集 收起 来源:数据准备

    2017-07-22

  • //mysql 数据库优化 项目中,优化mysql之前,首先要开启慢查询日志,在分析慢查询日志. 开启慢查询日志: show variables like 'slow%'; //查看慢查询状态 set global slow_query_log_file='/home/mysql/sql_log/mysql-slow.log'; //设置慢查询记录文件的路径 set global log_queries_not_using_indexes=on; //记录未使用索引的查询 set global long_query_time=1; //设置慢查询的时间 set global slow_query_log = on; //开启慢查询日志记录
    查看全部
  • 1、重点优化执行次数多且占用的时间比较长的sql; 2、IO占用非常大的sql; 3、没有命中索引的sql;
    查看全部
  • table:表名; type:连接的类型,const、eq_reg、ref、range、index和ALL;const:主键、索引;eq_reg:主键、索引的范围查找;ref:连接的查找(join),range:索引的范围查找;index:索引的扫描; possible_keys:可能用到的索引; key:实际使用的索引; key_len:索引的长度,越短越好; ref:索引的哪一列被使用了,常数较好; rows:mysql认为必须检查的用来返回请求数据的行数; extra:using filesort、using temporary(常出现在使用order by时)时需要优化。
    查看全部
  • 演示数据库说明: 使用MySQL提供的sakila数据库,可以通过以下URL获取这个演示数据库 http://dev.mysql.com/doc/index-other.html sakila数据库的表结构信息可以通过以下网站查看 http://dev.mysql.com/doc/sakila/en/sakila-installation.html 数据库基于MySQL5.5版本,不同MySQL版本的优化器有一定的差别。
    查看全部
    2 采集 收起 来源:数据准备

    2016-07-26

  • 表的垂直拆分的原则 所谓垂直拆分,就是把原来一个有很多列的表拆分成多个表解决表的宽度问题,通常拆分原则如下: 1、把不常用的字段单独存放到一个表中 2、把大字段独立存放到一个表中 3、把经常一起使用的字段放到一起 当表的宽度过宽的时候,我们需要对表进行垂直拆分,具体的建议如下(原则上是人以群分,列以表分):一表变多表,物理上不在一起,逻辑上是在一起的!
    查看全部
  • 选择合适的索引列 1.在where,group by,order by,on从句中出现的列 2.索引字段越小越好(因为数据库的存储单位是页,一页中能存下的数据越多越好 ) 3.离散度大得列放在联合索引前面 select count(distinct customer_id), count(distinct staff_id) from payment;
    查看全部
  • table:表名;<br> type:连接的类型,const、eq_reg、ref、range、index和ALL;<br> const:主键、索引;eq_reg:主键、索引的范围查找;ref:连接的查找(join),range:索引的范围查找;index:索引的扫描;All:表扫描<br> possible_keys:可能用到的索引;<br> key:实际使用的索引;<br> key_len:索引的长度,越短越好;因为mysql每次的读取都是以页为单位,一页中的索引越大,查询的效率就越高<br> ref:索引的哪一列被使用了,常数较好;<br> rows:mysql认为必须检查的用来返回请求数据的行数;
    查看全部
  • group by可能会出现临时表(Using temporary),文件排序(Using filesort)等,影响效率。 可以通过关联的子查询,来避免产生临时表和文件排序,可以节省io 改写前 select actor.first_name,actor.last_name,count(*) from sakila.film_actor inner join sakila.actor using(actor_id) group by film_actor.actor_id; 改写后 select actor.first_name,actor.last_name,c.cnt from sakila.actor inner join( select actor_id,count(*) as cnt from sakila.film_actor group by actor_id )as c using(actor_id);
    查看全部
    2 采集 收起 来源:group by的优化

    2016-05-20

  • mysql官方演示数据说明: dev.mysql.com/doc/index-other.html dev.mysql.com/doc/sakila/en/sakila-installation.html
    查看全部
    2 采集 收起 来源:数据准备

    2014-12-21

  • explain 返回各列的含义 extra列需要注意的返回值 Using filesort:看到这个的时候,查询就需要优化了 Using temporary 看到这个的时候,也需要优化,
    查看全部
  • mysql> explain select customer_id,first_name,last_name from customer; +----+-------------+----------+------+---------------+------+---------+------+------+-------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+----------+------+---------------+------+---------+------+------+-------+ | 1 | SIMPLE | customer | ALL | NULL | NULL | NULL | NULL | 599 | NULL | +----+-------------+----------+------+---------------+------+---------+------+------+-------+ 1 row in set (0.00 sec)
    查看全部
  • 所用时间占比高,关注优化之 扫描行数多,占用io大 扫描的行数远远大于发送的行数的话,索引优化
    查看全部
  • 数据库优化的几个方面
    查看全部
    1 采集 收起 来源:MySQL优化简介

    2014-12-19

举报

0/150
提交
取消
课程须知
想要学好这门课程,你需要具备MySQL数据库的基本知识,如果具有相关的工作经验并且希望能提升工作技能的话,这门课程就再适合不过了。
老师告诉你能学到什么?
1、了解数据库优化的各个方面的方法和技巧 2、如何对SQL语句和索引进行优化 3、如何对数据库结构及运行环境进行优化

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!