我什么时候可以限制SQL?

Ita*_*vka 0 mysql sql performance

我知道应该返回1或2个结果的许多查询.我应该明确限制他们还是让DB完成他的工作?我的意思是我正在使用一个独特的键组合,或者当我可能多次使用相同的结果时,只需要使用LIMIT 1而不是使用DISTINCT ......

Red*_*ter 5

如果您知道它们应该返回1或2行,那么添加LIMIT意味着如果它们返回的行数超过1 行或2行,则会隐藏问题.这相当于通过包装代码来吞咽异常,如下所示:

try{
    //some code
} 
catch{
    //do nothing
}
Run Code Online (Sandbox Code Playgroud)

所以,我不会LIMIT在这种情况下使用.相反,当发生这种情况时,我会在应用程序层中抛出错误(或记录它等).