2011-01-12 11 views
0

私はダイナミックサイトのためのマルチサイトページを作成しています9ソーシャルネットワーク)ので、すべてのページテキストはデータベース駆動です。質問は、別の場所のページに100の異なる言葉があるとすれば、それはデータベースからそれを読むために各作業のための1000の選択SQL文を含める必要があるということですか?私はマルチラン・ダイナミック・ページでは決して純粋にハードコードされた英語のみのページで作業したことがありません。ページのタイトルバー、ページのメタデータ、ページのテキスト、メニューのラベル、フッターなどのようなものがありますので、それぞれ個別のSQLクエリです。ダイナミックページの単語ごとにSQLクエリを分離しますか?

+0

リソースファイルを使用して各ロケールに1つずつ使用することを検討していることがあります。どのようなプログラミング言語を使用していますか? – turtlepick

+0

PHP(codeignitor)with MySQL – SeanD

答えて

0

必ずしも各項目にSELECT文があるわけではありません。スキーマに同じテーブル内の関連項目がある場合、これらの項目は1回の呼び出しで返されます。 [あなたのテーブル構造についていくつかの仮定をします。

SELECT page_title, page_text, page_footer, page_blah 
FROM page_table 
WHERE page_id = 123 AND lang = 'FR' 

あなたのコレクション(1対多数)アイテムの場合、ビュー、ピボット、および/またはユニオンを使用すると、コールの数をさらに減らすことができます(または、パフォーマンス/保守性が良好であれば、より多くのコールでライブすることができます)。ビューなどが適切かどうかを知るには、スキーマの詳細を投稿する必要があります。 hth、R

+0

私が正しく理解しているのは、表示が見栄えの良いものになるためのshowのことです。まだビュー以外のクエリと同じ作業をしなければならないため、パフォーマンス面でどのようなメリットがありますか?私はページテキスト/ multilangのために定義されたスキーマを持っていません。しかし、マルチランの場合はstdですkey_id、key、lang_id – SeanD

+0

ビューは、ビュー以外のクエリに対してパフォーマンス上の利点はありません。より複雑なクエリを使用することで、多数のチャットの多いSELECT文のアプローチから離れていくという選択肢として見ました。ビューは、このためにメンテナンス可能で再利用可能な実装を提供します。そして、彼らもかなり見える。 – richaux

関連する問題