365bet体育在线投注_mobile.365-848.com-365bet官网手机版
做最好的网站

用C连接数据库SQL并进行读取时因数据量过大导致

2018-12-30 19:44 来源:未知

  用C#连接数据库SQL并进行读取时,因数据量过大导致运行极慢,想建一个后台服务器实现实时显示

  百度知道电脑/网络编程语言/nav

  用C#连接数据库SQL并进行读取时,因数据量过大导致运行极慢,想建一个后台服务器实现实时显示

  我要做一个显示界面,要从SQL数据库中读取出某列数据并进行统计运算,之后以label控件显示出来。由于该数据库中数据量实在太大,直接读取数据时运行太慢,想建个服务器在后台运行,使...

  我要做一个显示界面,要从SQL数据库中读取出某列数据并进行统计运算,之后以label控件显示出来。由于该数据库中数据量实在太大,直接读取数据时运行太慢,想建个服务器在后台运行,使数据能实时更新在控件上显示。我该怎么做呢?没创建过服务器,数据库也是新手,求指导啊

  给你推荐一个方案,如果你需要显示信息就只把需要的信息查询出来,比如需要总数,就用select count(id) from tablename 这样查询,然后创建一个datatable,每次只查询前几个,select top 5 * from tablename 然户放到datatable里面操作,操作完了,然后在查询,这样可以数据库的压力。当然如果能把线程也加进去的话就更完美了,这样即使是几百万的数据也不会出现卡屏或者程序崩溃的现象

  展开全部可以在c#里面建立一个datatable,系统启动时把数据从数据库里载入到datatable里,你所有的操作不要在数据库里计算,在datatable里算,具体的操作你看下c#关于datatable的操作,这样就不会大量占用数据库时间,但这样又会占用大量内存,根据你的需要试试看吧。在内存里计算不在sql里面快,只是你在添加数据库时需要向datatable和sql里面同时添加同一条数据。10几万的数据我都是这么操作的。

  追问可以麻烦贴下你的代码或是详述下你的操作么?我的是在VS2010中连接数据库,再从数据库中读出所需列数据(这个读的过程就很慢,由于数据量大),然后存入dataTable中,再显示到所需控件上。当启动调试时。由于这个读的过程极慢,导致窗口显示要运行很长时间才出来。想要达到的效果是,就是点击调试时,窗体就能马上跳出,显示相应信息。追答代码没现成的,不过可以教你datatable的操作,把数据放入datatable应该会吧?写sql的语句也就不给你了!可以给你简单写一下datatable的操作。稍等DataTable dt = new DataTable();OleDbConnection conn = new OleDbConnection(连接字符串);OleDbCommand comm = new OleDbCommand(sqlcom, conn);

  读取一行,就显示一行?这样你的程序运行不久更慢了?你要做成这种的话,多线程吧,分很多个线程,同时按段读取数据库数据,本质上来说对提速没多大意义。

  我不是要读一行显示一行,而是先查询出所需数据,再整合,之后在给label控件显示。这个查询消耗时间过长,所以我想创建一个服务器,事先将所需数据查询出来,等到运行时可以直接调用

TAG标签:
版权声明:转载须经版权人书面授权并注明来源