紧急求救:超大数据量的数据库查询问题
我现在在做一个项目,碰到一个难题:由于数据库表的数据记录条数太多,经常是几千万,上亿条的记录,我要在这样一个表上实现数据的多条件检索,经常返回来的错误消息是:timeout expired,我建了索引、对表进行了分区,还是解决不了问题,郁闷阿!--------------------编程问答-------------------- 建个index来减小sql执行时间,或者调整timeout的设置,增加timeout的时间.
怎么会有那么多呢
分页啊
--------------------编程问答-------------------- 谢谢楼上的同仁,实际上我是用这些数据作统计的,使用count(*)能完成功能,但是就是返不回来count(*),我用分页返回记录的方法试过了,但是实在是速度太慢,我都不知道该怎么办了,天天被项目主管指责,郁闷死了
--------------------编程问答-------------------- 我的语句是select count(*) from data where id=4 and time between a and b and t =12.00000
现在表data中已经有两千多万条记录,id,time,t都是表中的项,我建了id,time,t的联合索引,但是还是没有成功:timeout
(数据库是mysql) --------------------编程问答-------------------- 如此大的数据量选择mysql数据它的性能肯定会很低,建议升级数据库,我以前昨过的一个项目也是选用的mysql数据库,出现了同样的问题,检索一条数据要2分钟试过很多办法都不能达到要求,最后还是通过协商升级了数据库.
升级数据库是 最有效的方法了. --------------------编程问答-------------------- 可是用户就是想省钱,不想掏钱买oracle,这个上帝太挑剔阿· --------------------编程问答-------------------- 加张数量统计表,对数据表加触发器,当有数据增加时就在统计表加1,删除时就减少。这样只需要初始化第一次数据表就可以了
补充:.NET技术 , C#