0

示例:我创建表格帖子 -

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")
}
}

第二个查询对表帖子中的每条记录执行表评论中的全扫描,有什么方法可以使评论搜索比上述方法更快?我需要在这种情况下使用索引吗?提前致谢

4

2 回答 2

2

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

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

于 2013-03-25T14:38:48.860 回答
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

要进一步了解有关联接的更多信息,请访问以下链接:

于 2013-03-25T14:38:44.197 回答