我有一个拥有450,000条记录的用户表。表结构如下:Mysql子查询优化
UserID Int(11) Primary Key
Firstname (50) Varchar
Lastname (50) Varchar
我还需要检查两个其他表,以查看UserID是否在这些表中。 (结构有点不同,但表格具有相同的UserID) 我在下面运行此子查询,并且运行速度非常慢。欣赏第二组的眼睛提供了一个全新的视角,帮助跑快一点的...
SELECT
`Users`.`Firstname`,
`Users`.`Lastname`,
`Users`.`UserID`
FROM `Users`
WHERE `Users`.`UserID` IN (SELECT `admin`.`UserID` FROM `admin` WHERE `admin`.`UserID`=`User`.`UserID`)
AND `Users`.`UserID` IN (SELECT `elite`.`UserID` FROM `elite` WHERE `elite`.`UserID`=`Users`.`UserID`)
AND `Users`.`Lastname` LIKE '%smith%'
你有什么指标在桌子上?为每个表发布'SHOW CREATE TABLE ...',并发布'EXPLAIN SELECT ...'输出。 – 2012-04-09 13:58:38