请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

请问为什么count(*)后explain是Select tables optimized away而不是index

mysql8.0,存储引擎为innodb,
表结构

CREATE TABLE f5_student (
id int(10) UNSIGNED NOT NULL,
sno varchar(20) NOT NULL COMMENT ‘学号’,
name varchar(30) NOT NULL COMMENT ‘姓名’,
openid varchar(50) NOT NULL DEFAULT ‘’ COMMENT ‘微信公众号openid’,
unionid varchar(50) NOT NULL DEFAULT ‘’ COMMENT ‘微信unionid’,
dept_id smallint(5) UNSIGNED NOT NULL DEFAULT ‘0’ COMMENT ‘院系ID’,
class_id mediumint(8) UNSIGNED NOT NULL DEFAULT ‘0’ COMMENT ‘班级ID’,
major_id mediumint(8) UNSIGNED NOT NULL DEFAULT ‘0’ COMMENT ‘专业ID’,
come_year smallint(5) UNSIGNED NOT NULL COMMENT ‘入学年份’,
gender tinyint(1) NOT NULL DEFAULT ‘0’ COMMENT ‘性别 1男 2女’,
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=‘学生信息表’;

正在回答

1回答

这个表里数据量有多少?具体的查询是什么样的?

0 回复 有任何疑惑可以回复我~
  • 提问者 慕数据3561991 #1
    有大概1万多条,查询就是使用select count(*) from f5_student
    回复 有任何疑惑可以回复我~ 2020-07-15 16:30:37
  • sqlercn 回复 提问者 慕数据3561991 #2
    Select tables optimized away的意思是MySQL优化器不用查询就可以从一些统计信息中知道查询的结果,另外你这个表也没有索引呀
    回复 有任何疑惑可以回复我~ 2020-07-15 18:13:26
  • 提问者 慕数据3561991 回复 sqlercn #3
    回复传的sql写错了,实际表里有主建索引,我现在不太明白的是inndob会吧行数写入统计信息中吗?不是只有myisam才有计数器吗?
    回复 有任何疑惑可以回复我~ 2020-07-15 18:44:10
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号