首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

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

2013-06-25 
请教一个mysql多表查询到性能问题$sqlstr select * from Words where WordID in (select WordID from Co

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

热点排行