如果在加压测试数据时,由于rand ) )函数而出现多个结果,或者没有结果,则sql将为:
没有使用selectdistinctorder _ codefromcl _ orderwhereid=ceiling (rand (* 100000 ) ) distinct也无济于事的多个或数据
虽然没有找到具体的原因,但在网上找到了解决方法:
slect order _ codefromcl _ orderorderbyrand (limit 1为rand ) )进行排序,取第一个,可以确保解决以前的多个查询结果和空结果的问题,但也会出现代码逻辑循环和稀疏问题频繁的排序会消耗非常多的性能。
据推测,在sql进行语法分析和执行计划优化时,发生了什么操作,导致了这种现象。