请教一个mysql多表查询到性能问题
$sqlstr = select * from Words where WordID in (select WordID from CourseWords where CourseID = 121) limit 0,300;
一张表 Words 一张CourseWords
Words 字段 WordID Spelling phnonics (单词表)
CourseWords 字段 CourseID WordID (课程表)
两张有一个共同键WordID.
下面语句是单独查询时间。
select WordID from CourseWords where CourseID = 121
49 rows in set (0.01 sec)
但是sqlstr到执行在mysql中居然要27s..求教!
[解决办法]
你这种子表查询,性能肯定很低的。尝试用JOIN,你可以到w3cschool网站下,简单学习左右连接
[解决办法]
select a.* from Words a inner join CourseWords b on a.WordID = b.WordID
WHERE b.CourseID = 121 limit 0,300