当使用混合格式和读取提交的隔离级别时,我是否安全?如果使用读取、提交或启用innodb_locks_unsafe_for_binlog,则必须使用基于行的二进制日志记录。
在When running in MIXED logging format, the server automatically switches from statement-based to row-based logging under the follow
因为引擎认为函数总是返回一行,所以我尝试将结果存储在临时表中,然后执行联接操作--在这两种情况下,从表/索引读取的Estimate number of rows计数都是错误的。我相信这是因为引擎使用的统计数据是错误的,而不是使用最优的执行计划。即使查询再次使用并行性,嵌套循环也用于连接表。如果我在联接上使用HASH或MERGE提示,将使用正确的统计信息并构建更好的执行计划,但我更愿意找到一种方法来提供正确的统计信息,而不是强迫引擎做一些事情。
有人能说出为什么总是期望一排吗?也许是因为使用了表值