Mysql 我的innodb表为count(*)返回0
我在mysql命令行中执行此查询(不是通过任何代码) 返回0(有时),但如果删除计数,则会有许多结果 这可能是什么原因造成的?我在命令行中抛出这个查询(不是通过任何编程层) 解释计数查询给出:Mysql 我的innodb表为count(*)返回0,mysql,count,innodb,Mysql,Count,Innodb,我在mysql命令行中执行此查询(不是通过任何代码) 返回0(有时),但如果删除计数,则会有许多结果 这可能是什么原因造成的?我在命令行中抛出这个查询(不是通过任何编程层) 解释计数查询给出: Using intersect(IDX_cms_books_publisher_id,IDX_cms_books_status_id,IDX_cms_books_deleted); Using where; Using index 问题似乎是mysql的一个bug。它是由索引合并交集引起的 您可以在每个
Using intersect(IDX_cms_books_publisher_id,IDX_cms_books_status_id,IDX_cms_books_deleted); Using where; Using index
问题似乎是mysql的一个bug。它是由索引合并交集引起的 您可以在每个会话中设置它 设置会话优化器\u switch=“index\u merge\u intersection=off” 或者在my.cnf中全局设置 [mysqld] 优化器\开关=索引\合并\交叉点=关闭 错误报告存档在这里
问题似乎是mysql的一个bug。它是由索引合并交集引起的 您可以在每个会话中设置它 设置会话优化器\u switch=“index\u merge\u intersection=off” 或者在my.cnf中全局设置 [mysqld] 优化器\开关=索引\合并\交叉点=关闭 错误报告存档在这里
通过添加“复合”索引,您既可以避免该错误,又可以加快查询速度:
INDEX(publisher_id, deleted, status_id)
(列可以是任意顺序。)
如果涉及到按哈希划分的
,则可能涉及到。它在5.5.36、5.6.16、5.7.4中得到了修复。通过添加“复合”索引,您既可以避免该错误,又可以加快查询速度:
INDEX(publisher_id, deleted, status_id)
(列可以是任意顺序。)
如果涉及到按哈希划分的,则可能涉及到。它在5.5.36、5.6.16、5.7.4中被修复。返回0(有时),但删除计数,它会有许多结果。
有时的含义是什么?444282205220。。。。。。。。(它太大了,这是一个查询,以防您怀疑)从publisher_id=46且deleted=0且status_id=3限制1的书籍中选择*是的,但速度慢是一回事,给出错误结果是另一回事@我刚刚遇到了这个错误。它似乎是在所涉及的表达到某个大小阈值后才开始发生的。返回0(有时),但如果删除计数,它会有许多结果。
有时的含义是什么?444282205220。。。。。。。。(它太大了,这是一个查询,以防您怀疑)从publisher_id=46且deleted=0且status_id=3限制1的书籍中选择*是的,但速度慢是一回事,给出错误结果是另一回事@我刚刚遇到了这个错误。这似乎是在涉及的表达到某个大小阈值之后才开始发生的。