私はデータベースにBBCodeまたはHTMLを格納することについての質問を見つけましたが、両方を保存するのはどうですか?たとえば、 & body_html
の2つの列を持つposts
DBテーブルを作成します。BBCodeとHTMLバージョンの両方をデータベースに保存しますか?
body_bbcode
ユーザー(フォーラムメンバー)が投稿した元の投稿を保存し、body_html
にその投稿の解析済み(HTML)バージョンを保存します。
だから、私はbody_html
を使用するフォーラムの投稿を表示するが、(引用付きで返信)引用&を編集するために、私はbody_bbcode
を使用します。パーサは正規表現を使用しているとbody_html
せず、それは、トピックページあたり少なくともフォーラムの投稿を変換する必要がありますので、私はこれをしたい理由
理由があります。私が間違っている場合は私を修正しますが、それはパフォーマンスの問題を引き起こす可能性がありますか?
一方、私はこのような人はいませんでしたので、このアプローチの欠点は何ですか、データベースでさらにスペースを取っているのでしょうか?
また、私は、検索目的でプレーンテキスト版を保存する新しい列を追加することを考えており、タグ自体は検索されません(たとえば、body_text
)。
なぜ実際のHTMLをDBに保存する必要がありますか?実際のHTMLはすべてのフォーラムメンバーの間で静的です。あなたはちょうど 'ポスト'または 'テキスト'を格納し、BBCの権利を解析する必要がありますか? – Tony
@Tonyそれは説明されていますが、あなたは明らかに読んでいませんでした: 'パーサーがregexを使用してbody_htmlを使用していないため、トピックごとに少なくとも15のフォーラム投稿を変換する必要があるためです。もし私が間違っていると訂正しても、それはパフォーマンスの問題を引き起こす可能性がありますか? ' – PeraMika
*私が間違っていると私を訂正しますが、それはパフォーマンスの問題を引き起こす可能性があります?これをテストして実際の問題を測定しましたか?これらのパフォーマンスの問題は、同じデータを複数の場所に格納するという複雑さを増すだけの価値がありますか?生のバッキングデータを保存し、そのデータに対して計算/置換を実行する方が好きです。複雑さのためにパフォーマンスを交換するケースは確かですが、そうする前にパフォーマンスを確実に測定する必要があります。 – David