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

php mysql-フィールドcategory-nameをテーブルに追加する必要がありますか?

    ミリ秒を測定していて、システムのディスクIOが極端に遅くない場合は、オプション2の方がパフォーマンスが向上します。 しかし 、実行時間のわずかな増加について話しています。すでにDBにクエリを実行してニュース項目を取得しているため、カテゴリ名を同時に取得するように高度に最適化されます。 category-name-idのマッピングテーブルを追加します カテゴリ名へ 。そして、ニュースアイテムを入手するときにそれに参加してください。

    柔軟性の観点と、考えられるエラーの原因をできるだけ多く排除するという観点から、私も上記の考えを採用します。システムに柔軟性を追加し、すべてのデータを1か所に保持するためです。カテゴリの名前を変更するには、php構成ファイルを編集する代わりに、データベースの1つの列を編集する必要があります。オプション1を使用した場合は、すべてのニュースレコードを更新する必要があります。

    したがって、最善のアドバイスは、 category-name-idを含むテーブルを追加することです。 カテゴリ名へ マッピングしてから、ニュースアイテムにそれらが属するカテゴリのIDを含めます。

    パフォーマンスを向上させるために、既存のカテゴリやその他のデータについて取得したデータをキャッシュできるため、DBでその情報を常にポーリングする必要はありません。

    例えば。参加する代わりに、上記のカテゴリテーブルからすべてのカテゴリを取得できます。アプリケーションにキャッシュし、キャッシュが無効になったときにのみ取得します。つまり、タイムアウトが発生するか、データベース内のデータが操作されます。



    1. 最も閲覧されている機能データベースの実装

    2. ip2longに変換されたIPをMySQLにどのように保存する必要がありますか?

    3. mysql / fuzzy検索のためのレーベンシュタイン距離の実装?

    4. 世界をカバーする六角形のグリッドの座標を持つテーブル