还是最近出现的问题。有个表已经达到百万级的数量了。最近不知道为什么,不定时地发生造成整个数据库很慢。这个表的改做索引的地方都做了。但是还是不定时地慢。
经过分析。问题出现在。
有个字段ID, 是int。但是如果使用的人输入一个超长的整数的时候,就会出现以上问题。
如:
select * from table where id=1234
这样没有什么问题。速度很快。
但是,写成
select * from table where id=1234123412341234
问题出现了,语句虽然是返回一个空,但是很慢。
所以,使用变量的时候,类型检测是比较重要的。不然,这些hidden的错误,找都找不到的。
本文探讨了一个关于数据库查询效率的问题,当输入的整数值过长导致溢出时,即使索引已经建立,查询依然变得非常缓慢。文章通过一个具体的例子说明了这个问题,并强调了类型检测的重要性。

被折叠的 条评论
为什么被折叠?



