关于查询优化的问题

[复制链接]
查看11 | 回复3 | 2010-3-1 11:20:06 | 显示全部楼层 |阅读模式
目前有一张表,有SOURCEID列,LOGTIME列和DATAVALUE列,记录了若干个参数一年之内的数据值,参数用SOURCEID来标识。
已有的索引是基于SOURCEID列和LOGTIME列的主键。
表内大概有800w条记录
经常要使用的查询是
SELECT MAX(DATAVALUE) FROM TBL WHERE SOURCEID = :Sourceid AND LOGTIME BETWEEN :Starttime AND :Endtime
但是效率比较低,这个查询条件中的时间段可能很短,比如一天,也可能很长,比如一年,没有什么规律。但是一张表里面最多只会存储一年的数据。
请教各位,应该从哪些方面着手对它进行优化呢?
感谢!
回复

使用道具 举报

千问 | 2010-3-1 11:20:06 | 显示全部楼层
建立复合索引
(SOURCEID ,LOGTIME ,DATAVALUE)
回复

使用道具 举报

千问 | 2010-3-1 11:20:06 | 显示全部楼层
版主高见。。。。。。
回复

使用道具 举报

千问 | 2010-3-1 11:20:06 | 显示全部楼层
就不用访问基础表了,访问索引即可
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行