我正在执行一个子查询,其中有一个包含随机数生成的计算列。在基本查询中,我选择了该列两次。MySQL 5.6和我预期的一样工作,计算值被调用一次并固定下来。5.7+/8.0+的执行似乎重新评估了每个选择的子查询的列值。这行为正确吗?我能做些什么来强制它在新版本的MySQL中按预期工作呢?id AS i,
我正在使用Server进行分页,并且希望避免重复,方法是将结果总数作为部分结果集的一部分进行计数,而不是获得结果集,然后执行单独的查询以获得计数。然而,问题是,它似乎正在增加执行时间。似乎平均CPU时间(所有查询加起来)是这个值的1.5到2倍: SELECT TOP (4813)显然,我宁愿使用前者,而不是后者,因为后者冗余地重复了FROM子句(如果有WHERE子句的话