以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]内部数据库大量数据的时候问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=79240)

--  作者:chnfo
--  发布时间:2015/12/27 13:59:00
--  [求助]内部数据库大量数据的时候问题
现在有一个社区,差不多1.5万户,要抄取水表。
如果用内建数据库,每个月就有1.5万行数据,这样抄个两年下来,就有36万行数据了。
抄了表,还要出本月用水数,还要算水费,不仅仅只是抄这么点事,还有其它的内容。

如果用外部数据库,如ACCESS,可能数据量达到30万行的时候,效率也高不到哪去。(据称ACCESS的表的数据达到10万行时,速度明显变慢)

问题是:
现在发现去查找某一个月的抄表数据修改的时候,速度奇慢无比啊(毕竟有36万行数据)
或者去查某一个住户的历史抄表数据等等的时候,慢

如何优化之?各位狐神给个思路吧
[此贴子已经被作者于2015/12/27 14:06:02编辑过]

--  作者:大红袍
--  发布时间:2015/12/27 14:26:00
--  

一年一个数据库呗,弄个空的数据库,拷贝一份就行。

 

如果要计算几年的数据,就动态添加几个数据源,把数据合并起来,再计算。


--  作者:chnfo
--  发布时间:2015/12/27 19:41:00
--  
那得由程序自动建库才行呀,总不能再手工整呀,又要加密,怎搞?
--  作者:大红袍
--  发布时间:2015/12/27 19:42:00
--  
呃,拷贝一份不就是建库了么。进入的时候根据日期,自动连接某个数据库就行啊。
--  作者:chnfo
--  发布时间:2015/12/27 20:39:00
--  
那就复杂了,因为还要考虑中间修改数据,就会跨期影响,还有其他办法没?
--  作者:大红袍
--  发布时间:2015/12/27 21:11:00
--  
以下是引用chnfo在2015/12/27 20:39:00的发言:
那就复杂了,因为还要考虑中间修改数据,就会跨期影响,还有其他办法没?

 

那没办法。数据量大的时候,加索引可以提高查询速度。

 

你写的代码优化以后也可以快速查询,如这些情况 http://www.foxtable.com/help/topics/2219.htm