首页 相关文章 MySQL数据库索引查询优化的分享

MySQL数据库索引查询优化的分享

  问题描述:

  我们要访问的表是一个非常大的表,四千万条记录,id是主键,program_id上建了索引。

  执行一条SQL:

  select * from program_access_log where program_id between 1 and 4000

  这条SQL非常慢。

  我们原以为处理记录太多的原因,所以加了id限制,一次只读五十万条记录

  select * from program_access_log where id between 1 and 500000 and program_id between 1 and 4000

  但是这条SQL仍然很慢,速度比上面一条几乎没有提升。

  Mysql处理50万条记录的表,条件字段还建了索引,这条语句应该是瞬间完成的。

  问题分析:

  这张表大约容量30G,数据库服务器内存16G,无法一次载入。就是这个造成了问题。

  这条SQL有两个条件,ID一到五十万和Program_id一到四千,因为program_id范围小得多,mysql选择它做为主要索引。

...[ 查看全文 ]

2016-02-19 标签:

MySQL数据库索引查询优化的分享的相关文章

手机页面
收藏网站 回到头部