PHP および mysql(i) スクリプトの速度と複雑さについて何も知らないので、次の質問がありました。
私は3つのテーブルを持つデータベースを持っています:
- 約9つのフィールドを持つ「製品」。「長い」コンテンツ テキストなど、製品のデータを含む。
- 2 つのフィールドを持つ「カテゴリ」。カテゴリの名前を含む
- 2 つのフィールドを持つ「Productcategories」。どの製品にどのカテゴリがあるかを含めます。各製品は 1 ~ 3 のカテゴリの一部です。
ページネーションを設定するために (最後のページが何か知りたいので、row_count が必要です)、それを行うための最も十分な方法は何か、または製品の量 (50、100、500) によって異なります。 ?)。返される結果は、選択したカテゴリによって異なります。
"SELECT * FROM `productcategories`
JOIN products ON products.proID = productcategories.proID
WHERE productcategories.catID =$category";
アイデア 1:
- すべてではなく、1 つのフィールドのみを選択する 1 つのクエリ。次に、mysqli_num_rows() を使用して、ページネーションの合計行数をカウントします。
- 実際に表示される 5 つまたは 10 の製品 (LIMIT を想定) を直接選択する 2 番目のクエリ。
アイデア 2:
- 行数に mysqli_nuw_rows() を使用し、後で表示する行を除外する 1 つのクエリ (上記) のみ。
どれが一番いいのかわからない。より少ないデータを選択する必要があるため、アイデア1の方が高速に見えますが、必要な2つのクエリが速度に大きく影響するかどうかはわかりません。「大量」のデータを収集するのと、クエリを実行するのとでは、どちらが最速ですか? 私の考えが完全に間違っている場合は、遠慮なく訂正してください。