私はZend Frameworkを介してWebサイトを作成していますが、これについてかなり長い間疑問に思っていました...
最高の記事モジュールを作成し、通常は記事ごとに meta_keywords/meta_description データベース エントリを追加して、ビューがレンダリングされるときに問題のメタ フィールドに管理バックエンドに入力されたデータを入力するとします。
ただし、動的コンテンツが少なく、これまで HeadMeta() ビュー ヘルパーを使用してメタ キーワード/メタ説明をページに追加している場合を想像してみてください。
データベース内のページごとにメタ キーワード/メタ説明またはその他のメタ要素を構成する方法が必要です。私は、過度のオーバーヘッドを追加することなく、これに対する最善の解決策は何かについて頭を悩ませてきました (Web サイトで行われるすべてのアクションに対してクエリを実行する必要があるため)。
私が最初に考えたのは、メタ属性をデータベースのインデックスに保存して、アクションごとにすべての関連データをすばやく取得できるようにすることでした。GET/POST を介して渡されたパラメーターが提供された結果を変更し、結果セットを無関係にする可能性があることにすぐに気付きました。
したがって、パラメーターも追加できるかもしれませんが、同時にいくつかを無視することもできます (?page=12 パラメーターを考慮する必要がないため...)。シリアル化されたパラメーターを使用して、インデックスに別の varchar 列を追加することはできますか?
または、URL 全体を追加して、通常の選択の代わりに REGEXP 選択を実行しますか? (これがおそらく最も遅い解決策になると思います...)
また、mySQL には約 varchar(200) の UTF-8 インデックスの制限があることに注意してください (したがって、1 つの巨大な URL を保存できませんでした)。
これを解決する良い方法を考えた人はいますか?