sql >> データベース >  >> RDS >> Mysql

PHPの巨大なリストからの保存とフェッチを最適化する方法は?

    1. ページネーション/遅延読み込み

      すべてのアイテムを一度にロードしないでください。それらを段階的にロードします。実際の例は、FacebookとTwitterです。設定された量のアイテムのみが読み込まれ、一番下に到達するか[さらに読み込む]をクリックすると、次のN個のアイテムまたはGoogleが読み込まれ、10億件の結果のうち1ページあたりN個のアイテムのみが表示されます。

    2. JSONを使用する

      最近でも、AJAXリクエストでフォーマットされたHTMLが返されるのを目にします。そうしないでください。サーバーに最初のページ(最初のHTMLを含む)をロードさせ、残りをAJAX経由でJSONにロードさせます。 JSONデータが到着したときに、クライアント側のテンプレートスクリプトでHTMLを作成してもらいます。これにより、帯域幅とダウンロード時間を節約できます。

    3. 圧縮を使用

      圧縮を使用する必要がある理由は明らかです。

    4. SQLの必須フィールドのみをロードする

      多くの場合、「いつか役立つかもしれない」という理由ですべての列をロードします-いいえ。ニックネームのセットをロードする場合は、SQLにニックネームのみをロードさせます。もちろん、ペアリングには主キーフィールドが常に必要なので、この場合は2列です。

    そして、それがニックネームと人の間の1対1の関係にすぎないことを確認して、同じテーブルに保存します。別のテーブルに置く必要はほとんどありません。これにより、JOIN操作から解放されます。



    1. 英語以外の文字を含むOracle検索テキスト

    2. Django 1.9では、JSONField(ネイティブpostgres jsonb)を使用するための規則は何ですか?

    3. MySqlクエリを使用してデータベース内の数値を小数点以下2桁に丸める方法

    4. Javaキャッシュを更新するPostgresトリガー