为了账号安全,请及时绑定邮箱和手机立即绑定
  • 1.在where,group by,order by,on从句中出现的列 2.索引字段越小越好(因为数据库的存储单位是页,一页中能存下的数据越多越好 ) 3.离散度大得列放在联合索引前面 离散度越高(唯一值越多),越适合建立索引。 判断离散程度 select count(distinct ziduan1),count(distinct ziduan2) from tablename 唯一值越多,离散度越好 唯一值越少,说明很集中 当一个索引覆盖我们所要查询的所有列,我们称为覆盖索引
    查看全部
  • 文件过滤、文件排序造成IO问题。 limit常用于分页处理,时常会伴随order by从句使用,因此大多时候会使用Filesorts这样会造成大量的io问题。 1.使用有索引的列或主键进行order by操作 2.记录上次返回的主键,在下次查询时使用主键过滤
    查看全部
  • 过滤条件最好写在子查询内,不要查询完成后,在外层过滤
    查看全部
    0 采集 收起 来源:group by的优化

    2015-05-21

  • group by可能会出现临时表(Using temporary),文件排序(Using filesort)等,影响效率。 可以通过关联的子查询,来避免产生临时表和文件排序,可以节省io 利用primary key优化子查询 改写前 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-05-21

  • 子查询优化成join时,注意一对多的情况,如果出现一对多,需要能过distinct来获取唯一值
    查看全部
    0 采集 收起 来源:子查询的优化

    2015-05-21

  • 开启慢查日志
    查看全部
  • 索引优化
    查看全部
  • limit常用于分页处理,时常会伴随order by从句使用,因此大多时候会使用Filesorts这样会造成大量的io问题 1.使用有索引的列或主键进行order by操作 2.记录上次返回的主键,在下次查询时使用主键过滤
    查看全部
  • group by可能会出现临时表(Using temporary),文件排序(Using filesort)等,影响效率。 可以通过关联的子查询,来避免产生临时表和文件排序,可以节省io
    查看全部
    0 采集 收起 来源:group by的优化

    2015-05-20

  • 1, count * 和 count 列 *包含null 列不包含null 2, 对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;
    查看全部
  • linux下pt-query-digest的安装: curl -o 'pt-query-digest' http://www.percona.com/get/pt-query-digest
    查看全部
  • 硬件优化 单核更快是王道 mysql有些工作只能使用单核CPU 磁盘IO优化——选择磁盘级别
    查看全部
  • mysql第三方配置工具: https://tools.percona.com/wizard
    查看全部
  • MySQL配置参数---innodb_flush_log_at_trx_commit(0,1,2)
    查看全部
  • 系统配置优化 innodb_buffer_pool_size——建议为总内存的75% innodb_buffer_pool_instances——可以控制缓冲池的个数 innodb log 缓冲大小 innodb_read_io_threads, indoor_write_io_threads——决定读写的IO进程数,默认为4 innodb_flush_log_at_trx_commit——关键参数 innodb_file_per_table——关键参数,控制每个表使用独立的表空间,默认为off,即所有表都会建立共享表空间。建议设为on,删除表时可及时回收空间,同时提高IO效率 innodb_stats_on_metadata
    查看全部

举报

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

微信扫码,参与3人拼团

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

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