mysql资源估算_MySQL中估算查询的性能--Estimating Query Performance

In most cases, you can estimate query performance by counting

disk seeks. For small tables, you can usually find a row in one

disk seek (because the index is probably cached). For bigger

tables, you can estimate that, using B-tree indexes, you need this

many seeks to find a row: log(row_count)

/ log(index_block_length

/ 3 * 2 /

(index_length

data_pointer_length))

1.

In MySQL, an index block is usually 1,024 bytes and the data

pointer is usually four bytes. For a 500,000-row table with a key

value length of three bytes (the size of MEDIUMINT),

the formula indicates log(500,000)/log(1024/3*2/(3

4)) 1 = 4 seeks.

This index would require storage of about 500,000 * 7 * 3/2 =

5.2MB (assuming a typical index buffer fill ratio of 2/3), so you

probably have much of the index in memory and so need only one or

two calls to read data to find the row.

For writes, however, you need four seek requests to find where

to place a new index value and normally two seeks to update the

index and write the row.

特别说明:

源自MySQL官方手册.

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值