我在查询时有一张表,
EXPLAIN SELECT `id`
FROM `tblsender`
WHERE `userid` = '6'
AND `astatus` = '1'
AND `sender` = 'ABCDEF'
Run Code Online (Sandbox Code Playgroud)
USING WHERE在以所有可能的方式建立索引后,我得到了回报。这是我的最终表结构代码。
CREATE TABLE IF NOT EXISTS `tblsender` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`sender` varchar(6) NOT NULL,
`astatus` tinyint(1) NOT NULL DEFAULT '0',
`userid` int(11) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `astatus` (`astatus`),
KEY `userid` (`userid`),
KEY `sender` (`sender`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=22975 ;
Run Code Online (Sandbox Code Playgroud)
我什至尝试了列的全文sender,但仍然没有运气,我还尝试对所有where clause列建立索引。
ALTER TABLE `tblsender` ADD INDEX ( `sender` …Run Code Online (Sandbox Code Playgroud) mysql ×1