跟各位探讨一下,我现在有个c#的程序,客户端通过odbc连接远端的mysql数据库。现在的做法是,
在登陆程序时,就打开一个odbc连接远端数据库,程序中有个timer,每当检测到odbc的连接断开时,就重新连接。
现在的问题是:
1、登陆时,才连接odbc,这个连接过程需要20s,太慢;
2、每次打开程序之后,如果中间odbc曾断开,且现在刚好在重新尝试连接,那么此时刚好要读取数据库,
也需等待新连接的20s不知道各位有什么高招,能帮我提升下这个速度,不知道这个odbc的连接是否可以做成N个后台连接的程序,
在主程序需要登陆时,就直接从该程序中,使用一个已连接的odbc?备注:通过控制面板中的odbc连接测试,连到远程mysql数据库的速度也是20s

解决方案 »

  1.   

    MYSQL什么版本,MYSQL ODBC什么版本,网络速度如何,有无防火墙
      

  2.   

    MYSQL 5.0,odbc5.1.6,网速是3M左右,防火墙都关了的
      

  3.   

    mysql是远程主机?如果从ODBC中连接都要20S,估计问题出在远程主机上
      

  4.   

    嗯,但是远端服务器暂时没办法变,现在只能在客户端的连接方式上想办法了,odbc可以在后台运行的吗?
      

  5.   

    可能是远程的服务器,没有把names-lookup关掉
    你客户端这边是没办法的.
      

  6.   

    换个最新版本的ODBC驱动。低版本有时会有这问题。
      

  7.   

    等会儿试下,我昨天发现,直接在控制面板中的,通过odbc数据源,测试系统DSN中,
    连接到远程服务器,都需要25s
      

  8.   


    这个......看看有没有保持长连接.....应该可以设置timeout以保持长连接。