两个服务器上的两个数据库表进行关联查询(显示列表)

来源:互联网 发布:java鱼雷和烈风马德里 编辑:程序博客网 时间:2024/04/30 06:58

今天做了一个测试:先把记录一次读出,用static静态变量:private static SortedList sl = new SortedList();

测试环境:ie登录一个账户(此记录多,慢),FF登录一个账户(此记录少,烧麦)。

ie下用户测试结果:

C# code
开始时记录个数:0*有新纪录时记录个数:0*新纪录:ID-40/(此时总个数:1)*新纪录:ID-41/(此时总个数:2)*新纪录:ID-42/(此时总个数:4)*新纪录:ID-43/(此时总个数:6)*新纪录:ID-44/(此时总个数:8)*新纪录:ID-45/(此时总个数:10)*新纪录:ID-46/(此时总个数:12)*新纪录:ID-47/(此时总个数:13)*新纪录:ID-48/(此时总个数:14)*新纪录:ID-49/(此时总个数:15)*新纪录:ID-50/(此时总个数:16)*新纪录:ID-51/(此时总个数:17)*新纪录:ID-52/(此时总个数:18)*新纪录:ID-53/(此时总个数:19)*新纪录:ID-54/(此时总个数:20)*新纪录:ID-55/(此时总个数:21)*新纪录:ID-56/(此时总个数:22)*新纪录:ID-57/(此时总个数:23)*新纪录:ID-58/(此时总个数:24)*新纪录:ID-59/(此时总个数:25)*新纪录:ID-60/(此时总个数:26)*新纪录:ID-61/(此时总个数:27)*新纪录:ID-62/(此时总个数:28)*新纪录:ID-63/(此时总个数:29)*新纪录:ID-64/(此时总个数:30)*新纪录:ID-65/(此时总个数:31)*新纪录:ID-66/(此时总个数:32)*新纪录:ID-67/(此时总个数:33)*新纪录:ID-68/(此时总个数:34)*新纪录:ID-69/(此时总个数:35)*新纪录:ID-70/(此时总个数:36)*新纪录:ID-71/(此时总个数:37)*新纪录:ID-38/(此时总个数:38)*新纪录:ID-37/(此时总个数:39)*纪录总个数:39




ff下用户测试结果:

C# code
开始时记录个数:1*有新纪录时记录个数:1*新纪录:ID-73/(此时总个数:3)*新纪录:ID-74/(此时总个数:5)*新纪录:ID-75/(此时总个数:7)*新纪录:ID-76/(此时总个数:9)*新纪录:ID-77/(此时总个数:11)*纪录总个数:11



---------------------------------------------------------------------

现在有个问题是:两个账户的记录列表是通过一个用户ID区别的,下边是定义ID的方法:
private static string UserNo = string.Empty;

显示的结果:两个账号显示的结果一样,都是记录少的用户的记录(这个页面先显示)

原因:static是定义静态变量的,在程序生命周期里一直存在,知道程序关闭。所以他成为两个账号的共享变量了,所以就出现记录相同的情况。

解决:这样定义就行了:private string UserNo = string.Empty;

感触:很多常用的东西,理解往往很模糊,以后要多注意小细节。

----------------------------------------------------------------------------

如果记录超多,定义成static类型,会有什么隐患吗?注意事项有什么?对于改善我提的问题有帮助吗?
希望大家多多提意见。

 

 

问题补充:
两个数据库分别在两个服务器上,运行的网站在另外一个服务器上,用户量与记录量都是超多的那种。

如果我用这个方案:
        “先把记录一次读出,用static静态变量:private static SortedList sl = new SortedList(); 保存一个从数据库的记录。供主数据库使用。”    这种方案的效果是:对于第一次访问和有新纪录时速度慢,其他时速度可以。(由我的上一贴可以知道那些已经访问的记录,是一直存在和共存的。担心会有隐患!!!!)

希望大家提供其它方案来交流!!!!!!!!!