无效数据库查询是否比有效数据库查询慢?(MySQL)

无效数据库查询是否比有效数据库查询慢?(MySQL),mysql,performance,Mysql,Performance,这是一个奇怪的问题,但是… 如果我在MySQL中运行此查询: 从id位于()的表中选择一些内容 这显然是无效的,与抛出有效查询相比,我是否会受到某种时间惩罚(异常抛出、日志记录等) 我问这个问题的原因是因为我刚刚发现我正在维护的一个应用程序(不是我写的)每秒向数据库抛出几十次特定的查询,我想知道修复这个问题是否有助于解决我们在同一台服务器上遇到的一些奇怪的性能问题 我的推理是基于“异常”在常规语言中是“慢”的,尽管我完全理解这里绝对没有平行,这与任何事情都没有关系。购买可能涉及一些日志记录,或使

这是一个奇怪的问题,但是…
如果我在MySQL中运行此查询:

从id位于()的表中选择一些内容

这显然是无效的,与抛出有效查询相比,我是否会受到某种时间惩罚(异常抛出、日志记录等)

我问这个问题的原因是因为我刚刚发现我正在维护的一个应用程序(不是我写的)每秒向数据库抛出几十次特定的查询,我想知道修复这个问题是否有助于解决我们在同一台服务器上遇到的一些奇怪的性能问题

我的推理是基于“异常”在常规语言中是“慢”的,尽管我完全理解这里绝对没有平行,这与任何事情都没有关系。购买可能涉及一些日志记录,或使其速度变慢的东西

有什么想法吗

更新:我应该指定这个。我一找到它就把它修好了。但是我们的服务器出现了一些奇怪的性能问题,我想看看这是否会有很大的帮助。使用此负载每秒向服务器保存15个常规查询肯定不是很大的帮助(尽管我仍然在这样做)。然而,如果一个无效的查询必须做一些需要时间的事情,那么可能

谢谢!
Daniel

它不应该比有效查询慢,因为服务器必须解析查询并以任何方式将结果返回给客户端(数据集或故障状态)


当然,如果应用程序一开始不需要发出查询(也就是说,它不是一个简单的编码错误,应该有一个条件,但它被忽略了),那么您当然可以通过根本不发出查询来节省一点工作。

只是为了好玩而尝试,并用有效值和无效值观察执行时间。没有明显的执行时间差异。我仍然主张根据浪费的数据库访问次数进行修复

语法错误的查询根本不需要访问数据库,因此它应该比需要工作的查询(但无论如何都不返回任何内容)快得多


话虽如此,乐观主义者有时会发现一些愚蠢的东西,因此如果你说其中1=0,那么它会抛出一个空集,而不实际触碰表格。

不确定它是否慢-但总的来说我会修复该查询-为什么要用一些查询来麻烦DB几十次,而这些查询不选择任何内容?DB仍然需要每次都处理该查询-这样它就可以节省浪费的时间并用于更有用的东西…尝试这个只是为了好玩,并用有效值和无效值观察执行时间。没有明显的执行时间差异。我仍然主张根据浪费的数据库访问次数进行修复。是的,是的,我已经修复了这个问题,当然,我只是好奇这是否可能是我们在那个服务器上的性能问题的一部分…@Roadie,你能把它作为一个答案吗?因为这是我得到的最“科学”的结果,我愿意接受它是的,是的,我已经解决了这个问题,当然,我只是好奇这是否可能是我们在该服务器上的性能问题的一部分…对,但是对于一个坏的查询是否比一个好的查询有更多的日志记录?(足以补偿)不,错误的查询不会被记录。返回一个错误响应,仅此而已。错误响应与ok响应没有什么特别的区别(它可能包含错误消息,但我看不出有多大区别)。