为了账号安全,请及时绑定邮箱和手机立即绑定
  • 使用int来存储日期时间,利用FROM_UNIXTIME得到可阅读格式的日期时间,而使用UNIX_TIMESTAMP来将可阅读格式转换为int形式。使用bigint存储IP地址,利用INET_ATON(),INET_NTOA()两个函数转换。 选择类型规则:“合适”;存的下的最小数据类型;简单的类型;not null;少用text,用了分表 bigint存储ip,INET_ATON(),INET_NOTOA()转换 insert into sessions(ipaddress) values(INET_ATON('192.168.199.1')); select INET_NTOA(ipaddress) from sessions;
    查看全部
  • 过多的索引不但影响写入,而且影响查询,索引越多,分析越慢 如何找到重复和多余的索引,主键已经是索引了,所以primay key 的主键不用再设置unique唯一索引了 冗余索引,是指多个索引的前缀列相同,innodb会在每个索引后面自动加上主键信息 冗余索引查询工具 pt-duplicate-key-checker
    查看全部
  • 判断哪个列的离散度更高,高的更适合联合索引,index(col1,col2)离散度高的列放到前面,where、group by、order by、on从句中出现的 索引字段越小越好 离散度打的列放到联合索引前面
    查看全部
  • 优化步骤1: order by 主键 步骤2: 如图,记录上次查询的主键,在条件中限制逐渐查询范围,但要注意这里的主键要是自增张1的,要不然查询的数据可能会少,所以在建表的时候尽可能的设置一个自增1的字段,比如index_id,并设置为主键
    查看全部
  • //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);
    查看全部
    0 采集 收起 来源:group by的优化

    2015-02-27

  • 查询是否开启慢查询日志,show variables like 'show_query_log'
    查看全部
  • 对max()查询,可以为表创建索引,create index index_name on table_name(column_name 规定需要索引的列),然后在进行查询 count()对多个关键字进行查询,可采用如下格式: 比如在一条SQL中同时查出2006年和2007年电影的数量,语句:select count(release_year='2006' or null) as '2006年电影数量',count(release_year='2007' or null) as '2007年电影数量' from film;
    查看全部
  • explain 返回各列的含义 extra列需要注意的返回值 Using filesort:看到这个的时候,查询就需要优化了 Using temporary 看到这个的时候,也需要优化,
    查看全部
  • //mysql 数据库优化 explain分析sql的执行计划,并找出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时)时需要优化。
    查看全部
  • 1、重点优化执行次数多且占用的时间比较长的sql; 通常为pt-query-digest分析的前几个查询 2、IO占用非常大的sql; 注意pt-query-digest分析中的rows examine项 3、没有命中索引的sql; 注意pt-query-digest分析中rows examine和rows send的对比
    查看全部
  • //mysql 数据库优化 MySQL慢查日志分析工具: 1 mysqldumpslow (mysql自带的工具,分析的不太详细) 2 pt-query-digest (推荐,分析的详细)
    查看全部
  • mysqldumpslow 慢日志的分析工具
    查看全部
  • //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; //开启慢查询日志记录
    查看全部
  • //mysql 数据库优化 优化的几个方面: 1 SQL及索引(提升性能最大,效率最高) 2 数据库表结构(根据范式设计表结构) 3 系统配置(linux对mysql打开文件数的限制等) 4 硬件(提高文件io的速度,但是成本最高) 数据库优化的目的: 避免出现页面访问错误 由于数据库连接timeout产生页面5xx错误 由于慢查询造成页面无法加载 由于阻塞造成数据无法提交
    查看全部
    0 采集 收起 来源:MySQL优化简介

    2015-02-26

  • 版本哈哈
    查看全部

举报

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

微信扫码,参与3人拼团

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

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