これが私のphp/MySQLタスクです:
主キーであるフィールドと、投稿に関するその他の情報フィールド ( 、など)POSTS
を含むテーブルがあります。主キーであるフィールドと のフィールドに対応するフィールドを含むテーブルもあります。特定のを指定すると、userId が「好き」なテーブルからすべての行を取得する必要があります。num
author
title
LIKE
userId
POST
num
posts
userID
POSTS
表 1 - ポスト
-番号 -著者-
タイトル
表 2 - いいね
-userId
-postId
これはすべてphpであるため、最初のアイデアは、指定されたものと一致するLIKES
テーブルからすべての行を取得し、それらの行を配列に格納することでした。userId
次に、配列を反復処理し、行ごとに検索してPOSTS
tableの行を取得しますwhere postId=POSTS.num
。ただし、特に配列を介した各反復が個別の mysql クエリになるため、これはかなり遅くなるようです。
もっと速い方法があると思います。一時テーブルを使用するか、テーブルを結合するためのより良い方法はありますか? 両方のテーブルに多くの行が含まれていると想定する必要があります。私は mysql の初心者です。より良い解決策があれば、その理由を説明してください。助けてくれてありがとう!