公司项目。由MSSQL迁移成MySQL。然后各位同事异口同声表示产品比以前卡了许多,但是并没有死锁之类的事情发生。本人百思不得其解。今天偶尔发现。一个方法在定义MySQLConnection后执行Open()操作,此方法竟然要需要耗费0.5秒左右。所以在这里请教各位老师,问题究竟出在什么地方?
我的MYsql数据库链接。
Database=Test;Data Source=127.0.0.1;User Id=root;Password=test;pooling=false;CharSet=utf8;port=3306;Allow Zero Datetime=true

解决方案 »

  1.   

    初步感觉是连接数据库MySQL.Data.dll 这个DLL的问题。但是现在有一个新的问题,我同事和我在不同的机器上连接一台另外一台机器的数据库,包括在这台机器上本什么跑程序连接,时间相差很大。请问大家有什么比较好的建议吗??
      

  2.   

    你这个连接串是否有效?
    标准的格式类似于这样:
    MySQLConnectionString = "Server=myServer;" & _
      "Database=myDatabase;" & _
      "Uid=myUserID;" & _
      "Pwd=myPassword;" & _
      "Connect Timeout=30;"
    应该是Server=<IP> or server name
    不知道你用Data Source 是否会导致变慢?可以试着换一下连接串看看,只用几个必要的参数。逐个排除。
      

  3.   

    直接用mysql.exe命令行工具先测试一下连接速度。
      

  4.   

    我那个连接串有用。用了一个多月了。而且今天刚发现的。第一次定义connection,然后connection.open会在0.5秒左右,后面紧跟着几个定义connection,然后connection.open操作就会很快。在0.03秒以下。这是怎么回事啊
      

  5.   


    是一个本机连本机的操作。应该跟连接速度没有关系吧?而且今天刚发现的。第一次定义connection,然后connection.open会在0.5秒左右,后面紧跟着几个定义connection,然后connection.open操作就会很快。在0.03秒以下。这是怎么回事啊 
      

  6.   

    这个应该是比较正常的。
    所以,需要池化。弄成pooling=true试试。
      

  7.   


    谢谢。昨天尝试着把pooling改成true。问题解决。