以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]换数据库  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=116932)

--  作者:OKK
--  发布时间:2018/4/2 20:59:00
--  [求助]换数据库
设计了HTTP网页注册和登录

当注册信息过多时,请问如何切换数据库来保存和读取?


(现在已经使用了SQL数据库连接了,但不知道如何在使用中自动切换数据库)

--  作者:有点蓝
--  发布时间:2018/4/2 21:08:00
--  
什么样算是“注册信息过多”?有必要切换数据库么?
--  作者:OKK
--  发布时间:2018/4/2 22:03:00
--  
我的意思是切换到另一个数据表

因为现在客户信息表已经有几十万行了,打开项目也很困难

就算使用需要时再加载的方法也不行,后面十万行的数据还是无法顺利加载

这个时候如果可以在使用中切换到另一个数据表,那问题是不是就可以解决了?

但在狐表,如果要切换数据表,就得先把数据表设计好

那么,如果数据达到上千行,甚至更多的时候,就得预先设计几百个甚至上千个数据表

就算预先设计好上千个数据表,狐表项目也未必能打得开



请问如何解决这个问题?





--  作者:有点蓝
--  发布时间:2018/4/2 22:17:00
--  
按需加载、分页加载。有必要一次性全部加载么,用到什么数据再加载什么数据:http://www.foxtable.com/webhelp/scr/1933.htm
--  作者:OKK
--  发布时间:2018/4/2 22:18:00
--  
就是说设计了一个网站,用户在网站注册,录入信息到狐表,,,,,如果要登录,就在狐表里读取,,,,所以用户只会越来越多,要保存的数据也会越来越多
--  作者:OKK
--  发布时间:2018/4/2 22:23:00
--  
分页加载就是不行啊

打开项目的时候我只打开几十行,所以打开是没问题的

但问题是用户在网站登录,需要读取狐表的数据的时候,,,,有些用户的数据是保存在第三十几万行里面的,这个时候其实也只是加载这几行的数据,但也加载不到

前面的数据就能加载,越往后,数据就越慢



--  作者:OKK
--  发布时间:2018/4/2 22:27:00
--  
就是说,比如:加载第十万行的数据没问题,加载第二十万行的数据有点慢,加载第三十万行的数据更慢,每次都是加载一行或几行而已,但也是越往后的数据,加载就越慢
--  作者:有点蓝
--  发布时间:2018/4/2 22:59:00
--  
不可能的。查询第一行的数据和查询第第三十万行的数据速度完全一样的。只需要查询一行的数据即可,难道你还一次性把前面的30万行记录也取出来吗。人家几亿行的数据一样超常使用。如果只取一行的数据源也慢,给表加上适当的索引,给经常使用的查询条件列加上索引
--  作者:有点甜
--  发布时间:2018/4/3 9:25:00
--  

一般,不需要把所有数据加载出来的,需要查询的时候,直接find或者sqlfind查找即可,sqlserver处理几十万行数据是区区小问题。


--  作者:OKK
--  发布时间:2018/4/3 9:26:00
--  
@有点蓝

其实索引最大的作用,是不是减少遍历的时间,准确查询到对应的行?

我的设计是,按编号查找的,我这样不是应该最快吗?


With DataTables("信息记录表")
    .LoadFilter = "[编号] =" &  4500000  \'到200万行开始慢,到300万行很明显,到450万行基本上要等5-10秒,有时会直接卡死
                                                         (目前数据表不只几十万行差不多有500万行了)
    .LoadTop = 50
    .Load()
End With