検索

ホームページ  >  に質問  >  本文

php が mysql からデータを抽出する場合、どの方法がより高速ですか?

1. 単一のデータ、つまりデータは 1 行のみで、このデータ行のフィールド記事にはカンマ (,) で区切られた 400,000 ワードが含まれます。

2. データは 400,000 個、つまり 400,000 行あり、各行のフィールド記事には 1 つの単語があります。

スキーム 1 が速い場合、ループ内でそれらを個別に抽出し、ループ内で (カンマで区切って) 400,000 項目に結合する方法。

<a href="分割後の 1 つの単語"> ;分割後の単一の単語</a>

巴扎黑巴扎黑2776日前608

全員に返信(3)返信します

  • PHP中文网

    PHP中文网2017-05-18 10:46:34

    オプション 2 の方が速いと思います。

    まず1000個のデータを取得します:

    リーリー

    1000 個のデータを 1 つずつ処理します:

    リーリー

    次の 1000 アイテムを処理します

    返事
    0
  • PHP中文网

    PHP中文网2017-05-18 10:46:34

    クエリだけに関して言えば、前者の方が間違いなく高速ですが、1 つのフィールドには 40,000 単語 (単語はカンマを含めて 7 文字としてカウントされます)、つまり 3,000,000 文字近く、約 300 万のデータが保存されます。ただし、クエリしてみると、このような長いフィールドを切り取るのは信頼できないようです。

    返事
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-18 10:46:34

    1ページに40万語を並べるという単純なビジネスであれば、最初の方法の方が早いと思います

    理由:
    1. クエリ
    方法 1. レコードを取得するために 1 行をスキャンする方法 2 では、多くの行をスキャンする必要があり、かかる時間は自明です (テーブルが大きいほど、より明らかです)。
    この処理方法 1 は方法 2
    2 よりもはるかに優れています。出力
    方法 1 は独立して分割する必要がありますが、PHP ではまったく問題ありません。その後、両方とも出力をキャッシュする必要があります。

    一般に、方法 1 の方が方法 2 よりもオーバーヘッドが少なくなります。

    返事
    0
  • キャンセル返事