可以在c#里面建立一个datatable,系统启动时把数据从数据库里载入到datatable里,你所有的操作不要在数据库里计算,在datatable里算,具体的操作你看下c#关于datatable的操作,这样就不会大量占用数据库时间,但这样又会占用大量内存,根据你的需要试试看吧。
在内存里计算不在sql里面快,只是你在添加数据库时需要向datatable和sql里面同时添加同一条数据。10几万的数据我都是这么操作的。
给你推荐一个方案,如果你需要显示信息就只把需要的信息查询出来,比如需要总数,就用select count(id) from tablename 这样查询,然后创建一个datatable,每次只查询前几个,select top 5 * from tablename 然户放到datatable里面操作,操作完了,然后在查询,这样可以数据库的压力。当然如果能把线程也加进去的话就更完美了,这样即使是几百万的数据也不会出现卡屏或者程序崩溃的现象
读取一行,就显示一行?这样你的程序运行不久更慢了?你要做成这种的话,多线程吧,分很多个线程,同时按段读取数据库数据,本质上来说对提速没多大意义。