数据库 -- 大表优化

性能状态关键指标
QPS,Queries Per Second:每秒查询数,一台数据库每秒能够处理的查询次数
TPS,Transactions Per Second:每秒处理事务数

1. 什么是成本?

  • I/O成本
    表使用的MyISAM、InnoDB存储引擎都是将数据和索引都存储到磁盘上的,当查询表中的记录时,需先把数据或者索引加载到内存中然后再操作。从磁盘到内存这个加载的过程损耗的时间称之为I/O成本。
  • CPU成本
    读取以及检测记录是否满足搜索条件、对结果集进行排序等操作损耗的时间称之为CPU成本。

2 . 字段优化

  • 尽量使用TINYINT、SMALLINT、MEDIUM_INT作为整数类型而非INT。
  • VARCHAR的长度只分配真正需要的空间
  • 使用枚举或整数代替字符串类型
  • 尽量使用TIMESTAMP而非DATETIME
  • 单表不要有太多字段,建议在20以内
  • 避免使用NULL字段,很难查询优化且占用额外索引空间
  • 用整型来存IP

3. order by优化
using filesort:有两种算法:双路排序,单路排序(根据IO次数)
数据库4.1版本之前:默认使用双路排序:扫描两次磁盘

  • 从磁盘读取排序字段,在buffer缓冲区进行排序操作
  • 扫描其它字段

数据库4.1之后:默认单路排序:一次性读取全部字段,在buffer区挑出排序字段进行排序。
如果数据量很大&

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值