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

2番目のクエリは、テーブル投稿の各レコードに対してテーブルコメントのフルスキャンを実行します。上記の方法よりもコメント検索を高速化する方法はありますか?その場合、インデックスを使用する必要がありますか?前もって感謝します

4

2 に答える 2

2

'post_id'のインデックスを'comment'に追加します。

また、これら2つのテーブルを結合して、1つのクエリを使用して各投稿のすべてのコメントを取得することもできます。投稿がたくさんある場合、これは高額になる可能性があります...

于 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 に答える