读书人

请问一个mysql多表查询到性能有关问题

发布时间: 2013-06-25 23:45:41 作者: rapoo

请教一个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

读书人网 >VC/MFC

热点推荐