数据结构
CREATE TABLE `temp12` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(40) NOT NULL,
`nickname` varchar(40) NOT NULL,
`qq` varchar(11) NOT NULL,
`password` varchar(40) NOT NULL,
`Salt` varchar(10) NOT NULL,
`secques` varchar(10) NOT NULL,
`email` varchar(40) NOT NULL,
`mobile` varchar(40) NOT NULL,
`lastip` char(15) NOT NULL,
`regdate` varchar(40) NOT NULL,
`lastlogintime` varchar(40) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`,`password`,`email`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=30645382 DEFAULT CHARSET=utf8;所在地方
查询email列某个值 加了唯一联合索引 查询语句 like=$xxxx% 语句需要8分钟是怎么回事 请大牛帮忙分析下索引 是不是因为表语句中间有空值 如图2的空值如果是的话 如何解决这个问题
CREATE TABLE `temp12` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(40) NOT NULL,
`nickname` varchar(40) NOT NULL,
`qq` varchar(11) NOT NULL,
`password` varchar(40) NOT NULL,
`Salt` varchar(10) NOT NULL,
`secques` varchar(10) NOT NULL,
`email` varchar(40) NOT NULL,
`mobile` varchar(40) NOT NULL,
`lastip` char(15) NOT NULL,
`regdate` varchar(40) NOT NULL,
`lastlogintime` varchar(40) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`,`password`,`email`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=30645382 DEFAULT CHARSET=utf8;所在地方
查询email列某个值 加了唯一联合索引 查询语句 like=$xxxx% 语句需要8分钟是怎么回事 请大牛帮忙分析下索引 是不是因为表语句中间有空值 如图2的空值如果是的话 如何解决这个问题
这个联合索引单独email查询时用不到索引的 只能查询username或者`username`,`password`或者`username`,`password`,`email`的时候才能用到这个联合索引你还是单独建立email索引吧
select ... where ..
explain select ...
show index from ...
$sql[]="SELECT * FROM ( SELECT $col FROM sgk_".$web." WHERE `{$type}` like '$keys%' LIMIT 20 ) tmp_{$web} ";
}
else{
$sql[]="SELECT * FROM ( SELECT $col FROM sgk_".$web." WHERE `{$type}` = '$keys' LIMIT 20 ) tmp_{$web} ";
}
----------------------------------------------------------------------------------------------
select * from `temp12` where username like '520XMABC%'找到一个行
查询时间:0.106s查询password字段
----------------------------------------------------------------------------------------------
select * from `temp12` where password like '111222tianya%'
找到58600行
查询时间:36.238s
查询EMAIL字段
------------------------------------------------------------------------------------------
查询EMAIL
select * from `temp12` where email like '团队之星@info.hainan.net%'找到一行
查询时间:33.173s
create index xxx2 on temp12(`email`);