为了账号安全,请及时绑定邮箱和手机立即绑定
  • 子查询优化成join 子查询一对一 不会有重复的记录 joiin如果存在一对多 结果会有重复 利用distinct去重
    查看全部
    0 采集 收起 来源:子查询的优化

    2015-05-25

  • Max()和Count()的优化 1.对max()查询,可以为表创建索引,create index index_name on table_name(column_name 规定需要索引的列),然后在进行查询 2.count()对多个关键字进行查询,比如在一条SQL中同时查出2006年和2007年电影的数量,语句: select count(release_year='2006' or null) as '2006年电影数量', count(release_year='2007' or null) as '2007年电影数量' from film; 3.count(*) 查询的结果中,包含了该列值为null的结果
    查看全部
  • 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)
    查看全部
  • 1.查询次数多且占用时间长的 2.io大的 3.未命中索引的
    查看全部
  • pt-query-digest
    查看全部
  • mysqldumpslow 慢日志的分析工具
    查看全部
  • 慢查日志格式: (1)执行时间 (2)用户主机信息 (3)执行信息(如:执行时间、锁定时间、发送行数、扫描行数) (4)执行时间 (5)执行内容 如下: # Time: 150419 15:21:31 # User@Host: root[root] @ localhost [127.0.0.1] Id: 45 # Query_time: 0.001000 Lock_time: 0.000000 Rows_sent: 0 Rows_examined: 0 SET timestamp=1429428091; SET PROFILING=1;
    查看全部
  • 1,查看所有日志状态: show variables like '%log' 2,查看慢查询状态:show variables like 'show%' 3,开启慢查询日志:set global slow_query_log=on 4,查看是否开启了慢查询日志:show variables like 'slow_query_log' 5,记录未使用索引的查询:set global log_queries_not_using_indexes=on
    查看全部
  • sakila 数据库下载安装地址 dev.mysql.com/doc/index-other.html dev.mysql.com/doc/sakila/en/sakila-installation.html
    查看全部
    0 采集 收起 来源:数据准备

    2015-05-25

  • Mysql优化目的: 1,避免由于数据库联接timeout产生页面5**错误 2,由于慢查询造成页面无法加载 3,由于阻塞造成数据无法提交 Mysql优化的思路 1,SQL语句优化和索引优化 2,数据库表结构的优化 3,系统配置 4,硬件优化
    查看全部
    0 采集 收起 来源:MySQL优化简介

    2015-05-25

  • CPU: 单核频率高,不要超过32核。 IO: raid0 多个磁盘连接成一个硬盘使用,IO最好 raid1 单个备份 raid5 奇偶校验恢复 raid1+0 1和0的结合。 磁盘阵列: 1. 常用于高可用 2. 某些存储阵列顺序读写效率高,但是随机读写不如人意。
    查看全部
  • mysql第三方配置工具: https://tools.percona.com/wizard
    查看全部
  • 表的水平拆分 为了解决单表数据量过大的问题,每个水平拆分表的结构完全一致 方法 1.对id进行hash运算,可以取mod 挑战 1.跨分区进行数据查询 2。统计及后台报表操作 垂直拆分解决表的宽度问题,后台用总表,前台用拆分表 由于后台对于数据的使用率较低 所以会将五个拆分后的表汇总到一个表中供后台使用 ,前台则使用拆分的表
    查看全部
  • 垂直拆分 - 解决宽度问题 把原来有很多列的表拆分成多个表,原则是: 1.把不常用的字段单独存放到一个表中 2.把大字段独立存放在一个表中 3.把经常使用的字段放在一起
    查看全部
  • 表的范式化即数据库设计的规范化:数据表不存在非关键字段对任意关键字段的传递函数依赖 分类描述依赖于分类,分类又依赖于商品名称,而商品名称为主键——关键字段 当不符合第三范式的时候,可以拆分表为两份表,用之前的非关键字列作为新表的关键字,然后建立起新表和旧表的关联表
    查看全部

举报

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

微信扫码,参与3人拼团

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

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