Mysql - 从多个表中检索记录的最快方法是什么

时间:2013-03-25 14:37:03

标签: mysql

示例:我创建表格帖子 -

post_id primary key

content varchar

然后我创建表注释 -

comment_id primary key

post_id foreign key reference post(post_id)

content varchar

在ASP(Active Server Pages)中显示记录

query1: select * from post;

Do while NOT RS1.EOF
{
response.write RS1("post_id")
response.write RS1("content")

query2: select * from comment where post_id = RS1("post_id")

Do while NOT RS2.EOF
{
    response.write RS2("comment_id")
    response.write RS2("content")
}
}

第二个查询对表格帖子中的每条记录执行表格注释中的全扫描,有没有办法比上述方法更快地进行评论搜索? 我需要在那种情况下使用索引吗?提前致谢

2 个答案:

答案 0 :(得分:2)

将“post_id”的索引添加到“评论”。

您还可以在这两个表之间进行连接,以使用一个查询获取每个帖子的所有注释。如果您有很多帖子,这可能会很昂贵......

答案 1 :(得分:1)

JOIN表格,

SELECT  a.*, b.*
FROM    post a
        INNER JOIN comment b
            ON a.Post_ID = b.Post_ID
-- WHERE   a.Post_ID = @valueHere       -- <<== if you want to get specific post

要进一步了解联接,请访问以下链接: