mysql运维之
2015年7月1日------------------- 1、MHA修复宕机的机器 2015年7月2日------------------ 表结构: CREATE TABLE `question_2` (`qid` int(11) NOT NULL DEFAULT '0',`QuestionID` varchar(50) NOT NULL COMMENT '只做数据冗余,不做查询条件,不添加索引',`UserID` int(11) DEFAULT NULL,`QuestionTitle` varchar(500) NOT NULL,`Age` int(11) NOT NULL,`Month` int(11) NOT NULL,`CatalogID` int(11) NOT NULL,`Sex` int(11) NOT NULL,`QuestionDesc` longtext NOT NULL,`QuestionTag` varchar(400) DEFAULT NULL,`Score` int(11) DEFAULT NULL,`Anonym` int(11) DEFAULT '0',`CommentCount` int(11) NOT NULL DEFAULT '0',`Source` int(11) DEFAULT NULL,`IsAutoAdd` int(11) DEFAULT '0',`QuestionStatus` int(11) DEFAULT NULL,`OperateStatus` int(11) DEFAULT '0',`OperateTime` datetime DEFAULT NULL,`CreateTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '展示时间',`UpdateTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (`qid`),KEY `idx_2_uid_ctime_qstatus` (`UserID`,`CreateTime`,`QuestionStatus`,`OperateStatus`),KEY `idx_2_qstatus_opstatus_sc_so` (`QuestionStatus`,`OperateStatus`,`Age`,`Score`,`Source`),KEY `idx_2_ctime_qstatus_opstatus` (`CreateTime`,`QuestionStatus`,`OperateStatus`,`CatalogID`,`Age`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;select count(*) from question_2;-- 4086112explain select * from `question_2` where `questionstatus` >= 0 and `operatestatus` =2 and `age` in ('1','2') order by qid desc limit 60000,20;explain select qid from `question_2` where `questionstatus` >= 0 and `operatestatus` =2 and `age` in ('1','2') order by qid desc limit 60000,20;select count(*) from `question_2` where `questionstatus` >= 0;-- 4064825/4086112select count(*) from `question_2` where `questionstatus` >= 0 and `operatestatus` =2;-- 3649271/4086112---------------优化后的sqlexplain select * from question_2 inner join(select qid from `question_2` where `questionstatus` >= 0 and `operatestatus` =2 and `age` in ('1','2') order by qid desc limit 60000,20) a using (qid); |