2011-02-11 9 views
2

コンテンツの重いウェブサイトでは、すばやく汚れたCMSを実装していますが、書式付きテキストの「記事」ブロックのテキストとマークアップを保存する方法がわかりません一般的には4000文字以下で実行されますが、理論的には異常な状況では40,000に実行される可能性があります。SQL Serverで記事長ブロックのテキストとマークアップを格納する

  1. この長さのテキストをvarcharに保存するのは実際的ですか?そうでない場合、私は何を使うべきですか?

  2. マークアップするテキストとは別にマークアップを保存するのがベストプラクティスですか?

  3. マークアップをHTML以外の形式で保存するための一般的に受け入れられているプロトコルはありますか?この場合、太字、イタリック、コードブロック、段落のマーキングをヘッダー、サブヘッド、または「バイライン」として定義し、あらかじめ定義された方法で処理することができます。

  4. ページ分割を一度処理して情報を保存する実際的な方法はありますか?

答えて

4
  1. 確かに。 UNICODEにはvarchar(MAX)またはnvarchar(MAX)を使用します。 SQL Serverには8kページの制限があると思うので、非常に大きなテキストフィールドにはパフォーマンスに影響が出る可能性があります。

  2. なぜそれを分けたいですか?あなたは単にHTMLを格納することができます。

  3. #2を参照してください。

  4. ページ作成はマークアップの表示方法によって異なるため、これは実際的ではないと思います。

+1

各エントリに2GBの記憶容量があります。これは、War and Peace *の全コンテンツを250バイト以上保存するのに十分です - 2バイト/文字のUnicodeでも可能です! :-) –

+0

#3は、BBCodeに似たカスタムマークアップを実装するか、SO(アスタリスク、ダニ、4スペースインデントなど)で実装されているものをOPが望んでいるように見えます(またはそれを念頭に置いています)。 –

+0

セマンティクス要素が必ずしも単一のHTML要素に完全にマッピングされるとは限らず、余分な処理が必要になることがあります。 (2)HTMLを格納するのは、バイナリコードを格納するのと同じです。それはセキュリティ上の懸念を引き起こす。 –

関連する問題