c#winForm中如何提高速度
我制作了一个winForm小程序,里面反复用到数据库中的一张表,因为这张表的数据很多,我又反复调用,所有程序运行很慢,请高手给我指点指点该怎么优化吧,本人水平低,听说过有...
我制作了一个winForm小程序,里面反复用到数据库中的一张表,因为这张表的数据很多,我又反复调用,所有程序运行很慢,请高手给我指点指点该怎么优化吧,本人水平低,听说过有什么缓冲技术,但不知道具体是什么?希望您的介绍的详细些,先谢了
展开
6个回答
展开全部
建一个public static class静态类. 包含一个静态属性public static DataTable
在程序的第一个窗体Load()中,或者其他你认为合适的方法中,查询数据并为这个类的DT赋值.
那么在后续业务中,可以直接通过
StaticClassName.StaticDT获得这个表结果.
使用这种方法来做数据滞留,参照以下条件:
属于配置项,改动少,使用频繁.
在使用中,必要的时候可以为静态类重新赋值,以保持滞留的数据与库数据一致.
在程序的第一个窗体Load()中,或者其他你认为合适的方法中,查询数据并为这个类的DT赋值.
那么在后续业务中,可以直接通过
StaticClassName.StaticDT获得这个表结果.
使用这种方法来做数据滞留,参照以下条件:
属于配置项,改动少,使用频繁.
在使用中,必要的时候可以为静态类重新赋值,以保持滞留的数据与库数据一致.
展开全部
这要看你表的作用是干什么的,另外,winform程序比起web来讲有更方便的优势,比如你查询一次后可以把数据一直保存在内存中,表现在程序中的话就是你查询出来的对象,比如你的dataset,你可以延长它的生命周期,比如用一个全局变量来存储
追问
dataset组件是不是要求数据库中主键必须是自动增长性呀
追答
没这个要求
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果不查最新数据的话 你可以创建一个表model层用于存储你第一次访问时的数据
再用线程调用这个表model 这样就快
再用线程调用这个表model 这样就快
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
运行问题和线程休眠机制也有关系的,试一试往线程方面走走,不要同时做一些事情。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不管怎么样你反复调用都是为了得到一个结果,为了一个结果,你可以直接采用拼接SQL语句。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询