暂无图片
MySQL count有必要做冗余吗?
我来答
分享
暂无图片 匿名用户
MySQL count有必要做冗余吗?

比如每个分类下的记录数

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
刘贵宾

不知道我对你的问题理解的对不对,简单说下我的想法,仅供参考:

innodb的话没必要count冗余吧,InnoDB支持事务,其中大部分操作都是行级锁,所以可能表的行数可能会被并发修改,那么缓存记录下来的总行数就不准确了。

MySQL 8.0.13开始,针对InnoDB的SELECT COUNT(*) FROM tbl_name语句,我们知道COUNT(*)的目的只是为了统计总行数,所以他根本不关心自己查到的具体值,那么MySQL会优先选择最小的非聚簇索引来扫表以达到大大节省时间的目的,当然前提是查询语句中不包含WHERE或GROUP BY等条件。

暂无图片 评论
暂无图片 有用 1
打赏 0
暂无图片

啥 不明白题意?

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
MySQL 5.7 升级mysql8 需要注意什么?
回答 1
密码插件onlyfullgroupby改变
请问各位大佬,mysql,hadoop,es,redis国产化推荐用什么替代
回答 1
Mysql使用OpenGauss,OceanBase替代;ES使用Doris替代; Hadoop没有一对一的替代品,如果仅仅是HDFS,可以使用存储 开放协议的S3开源程序替代;分
mysql 字段设置默认值
回答 1
假设登录用户名为admin直接写default‘admin’不就可以了?
mysql自增字段必须为主键 但是主键又不能为空,自增有什么作用吗?
回答 1
已采纳
主要是为了存储整齐,按顺序存储。这样紧凑。如果uuid的话,就是东写一下,西写一下,碎片多了。
MySQL:关于 MDL 的读锁与写锁
回答 2
元数据锁会锁全表,后续就不能继续对该表进行操作需要等A事务结束,C执行完,D才能读
mysql可以直接物理迁移数据文件目录么
回答 6
已采纳
关数据库,直接复制全部的数据目录,在版本一致的情况下,是可以正常启动的。你找下启动的配置文件,是不是配置文件指向有问题。
上十亿条mysql数据,分成40个表,如何去重? 现在有十亿条数据,存储在mysql数据中,分成了49个表,每个表大概4000万条,采用每条数据去分别判断所有表效率太低太低了,有什么方法可以用最快方法去重,只保留一条数据。
回答 1
已采纳
1.这里应该有主键和唯一键的标识位字段:要是有主键,唯一键把数据到导入到一张表,进行having操作即可。2.要是没有唯一标识,只能一条一条对比。可以使用pythonpandas脚本进行匹配。
mysql8.0 root密码被锁定了,怎么解决?
回答 1
已采纳
建议在配置文件用skipgranttables方式修改密码https://www.modb.pro/db/24271
mysql造成数据不一致的原因
回答 3
已采纳
造成主从不一致的原因(1)主库binlog格式为Statement,同步到从库执行后可能造成主从不一致。(2)主库执行更改前有执行setsqllogbin0,会使主库不记录binlog,从库也无法变更
mysql启动失败
回答 2
尝试用innodbforcerecovery看看能不能拉起来