是否有设置或某些问题导致MySql在查询之间等待1秒?

时间:2013-02-23 17:37:54

标签: mysql vb.net odbc

我有一个客户需要将旧的vb.net网络应用程序从旧服务器移动到新服务器。当我在新服务器上运行应用程序时,我们发现它运行速度非常慢,即使服务器更新并且硬件更好。

我对应用程序进行了性能分析,而OdbcDataAdapter.Fill()命令是主要的热点。

然后我启用了MySQL中的常规日志并对其进行了修改。我发现该应用程序正在进行大量查询(例如,这个程序员会为搜索中的每个结果执行多个查询),但它们似乎在某个地方受到限制。

以下是单页请求日志的一瞥:

130223 11:21:48   624 Connect   root@localhost on mydb
          624 Query SET NAMES utf8
          624 Query SET character_set_results = NULL
          624 Query SET SQL_AUTO_IS_NULL = 0
          624 Query set @@sql_select_limit=DEFAULT
          624 Query select count(*) from bg_doc_status where uploaded = 1 and candidateid='51233'
          624 Quit  
130223 11:21:49   625 Connect   root@localhost on mydb
          625 Query SET NAMES utf8
          625 Query SET character_set_results = NULL
          625 Query SET SQL_AUTO_IS_NULL = 0
          625 Query set @@sql_select_limit=DEFAULT
          625 Query select * from bg_doc_status where willfax=1 and candidateid='51233'
          625 Quit  
130223 11:21:50   626 Connect   root@localhost on mydb
          626 Query SET NAMES utf8
          626 Query SET character_set_results = NULL
          626 Query SET SQL_AUTO_IS_NULL = 0
          626 Query set @@sql_select_limit=DEFAULT
          626 Query Select distinct serviceid from bg_service_results where CandidateID='51233'
          626 Quit  
130223 11:21:51   627 Connect   root@localhost on mydb
          627 Query SET NAMES utf8
          627 Query SET character_set_results = NULL
          627 Query SET SQL_AUTO_IS_NULL = 0
          627 Query set @@sql_select_limit=DEFAULT
          627 Query Select count(*) from bg_candidates_selected_services where CandidateID='51233'
          627 Quit  

我们不需要谈论这个编程有多糟糕:)。这家伙可以在一个查询中做很多事情。但是STILL,MySql似乎每秒最多执行一次查询!

如果我在工作台SQL编辑器中运行任何这些查询,它们每个都需要“0.000秒”。如果我尽可能快地按CTRL + ENTER,日志将显示它们每秒执行几次。

有谁知道可能导致每秒1次查询限制的原因是什么?它发生在生产和生产中。

我已尝试使用32位和64位的MySQL ODBC 5.2w驱动程序和MySQL ODBC 5.2a驱动程序。

我找到了解决办法:odbc.open()正在全力以赴。显然是dns查找(对于localhost!)正在花费时间。将我的web.config中的数据库服务器地址更改为127.0.0.1修复它。看起来this person发现了同样的问题。

1 个答案:

答案 0 :(得分:2)

我找到了解决办法:odbc.open()正在全力以赴。显然是dns查找(对于localhost!)正在花费时间。将我的web.config中的数据库服务器地址更改为127.0.0.1修复它。看起来this person发现了同样的问题。