Mysql 慢查询日志的使用和引擎选择

8000000万条记录,在没有任何索引和其他优化处理的情况下:

82dbe474b9323f8eddfa1e3e697dd9a3a3c.jpg

一、优化方案:

  • 首先通过建索引方式:

给emp(雇员表)的empno添加主键索引

Alert table emp add primary key(empno);

3daa32578b443ae7aefe5ba52f2f3999f8e.jpg

一个表(存储引擎是MyISAM)对应三个文件 XX.frm 表结构,XX.MYD数据文件,XX.MYI是索引文件,通常一个索引文件大小为数据文件的1/3.

添加所有之后:(查询效率明显提升)

0defbb56a4608ae3d9661cbb6b1481fbfbb.jpg

 

45df96258a51c5e091107efe90283425dde.jpg

Query_time:查询时间,如果比较大则是数据量比较大,优化索引,表结构,查询语句等

Lock_time:等待(锁定)时间,如果比较大则处理吞吐量,通过主从,读写分离等方式

Rows_examined:检索的行数

二、如何选择存储引擎

a3b8551a2119638ba224d3d707c6497638d.jpg

  1. MyISAM:默认的mysql存储引擎。如果应用是以读操作和插入操作为主,只有很少的更新和删除操作,并且对事物的完整性要求不是很高。其优势是访问的速度快。(尤其适合论坛的帖子/信息表/新闻/商品表)
  2. InnoDB:提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比MyISAM,写的处理效率差一些,并且会占用更多的磁盘空间,如果对安全要求高,则用InnoDB(整体趋势)【账户,积分,余额】
  3. Memory/heap:一些访问频繁,变化频繁,有没有必要入库的数据【用户在线状态等】数据库一关闭该类的表数据则会被删除,结果保留。

转载于:https://my.oschina.net/u/3432745/blog/3018925

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值