SQL处理大数据量问题

log表中存放着用户的操作日志信息,字段分别为:logid(int)主键 terminalid(int)操作的终端编号 logdate(date)操作的日期 logtime(time)操作的时间 userid(int)操作人的编号。一个用户可以再一个终端上操作多次,且一个用户可多次在同一台设备上操作。
请编写程序,计算每天每台设备的用户操作平均时间间隔。
(可将上表设计成数据库,并考虑程序的运行速度)

请各位大侠帮忙 ,我想是select,但是条件太多,程序的时间有效性太差

楼上说得对,
1,可以使用存储过程,需要哪部分的数据,就取哪部分的数据段;这样就不会会出现什么程序池响应时间超时之类的问题;
2,其实也可以利用客户端的缓存,将经常需要用到的数据暂存在客户端,这样也可以减少对数据库的数据访问;
3,暂时由这两种方法。。。。。。。。其他水平有限,还不知道怎么处理...
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-22
用分析函数lag,错位一格,相减,得出的一列,求出平均值,按天统计,这样可以吧?
第2个回答  2012-08-22
如果将日志保存在一张表中,需要将表按日期做分区。
或者每天创建一张日志表。都会有效提高查询性能!
当然,如果查询频繁,可以将日志统计结果存入统计结果表或者内存缓存。
第3个回答  2010-03-18
这种大数据量的存储或者查询,建议写存储过程。
存储过程的速度可是ADO望尘莫及的。
相似回答