2

ページにたくさんのメモを生成するアプリがあります。ユーザーはページの任意の場所をクリックして簡単なメモを作成できます (例: Acrobat Pro)。<div id="notes">

<div id="notes">
    <div class="note" id="note-1"><input type="text" value="Some note"></div>
    <div class="note" id="note-2"><input type="text" value="Some note"></div>
    <div class="note" id="note-3"><input type="text" value="Some note"></div>
    <div class="note" id="note-4"><input type="text" value="Some note"></div>
    <div class="note" id="note-5"><input type="text" value="Some note"></div>
    <div class="note" id="note-6"><input type="text" value="Some note"></div>
    <div class="note" id="note-7"><input type="text" value="Some note"></div>
</div>

すべてのメモのマークアップのみをデータベースに保存するのは良い考えだと思いますか? その場合、7、100、またはそれ以上のメモではありませんか? それが私の最初のアイデアでした。短いコンテンツ (入力の値) で 100 以上よりも 1 つの巨大なフィールドを呼び出す方がパフォーマンスが優れていますか?

4

1 に答える 1

2

巨大なフィールドを 1 つ持つのは面倒で、RDBMS モデルにうまく適合しません。SQL データを見てその意味を理解することは、さらに困難です。これらのタイプのフィールドにインデックスを付けることができないため、特定のメモを探すのに非常に時間がかかります。挿入と削除にもおそらく時間がかかります。このフィールドのデータの分割を処理するには、特定の機能が必要です。

代わりに 100 行を使用すると...まあ、それははるかに多くの行です (ただし、中規模のデータベースを見るとそれほど多くはありません) が、最小限のデータのみを格納し、正しくインデックスを付けると、最終的に構造体になる可能性があります。それは、単一のフィールドアプローチよりも大きくも遅くもありません。

基本的に、これらのメモで何をしたいのかを考える必要があります。最も一般的な操作が単にgive me all notesである場合、おそらく単一のフィールドで問題ありません。多くの挿入、削除、および検索を開始するとすぐに、多くの行が単一のフィールドよりも優れたパフォーマンスを発揮します。保守性のために、どちらの場合も多くの行を使用する方がよい場合があります (要件に変更がある場合)。

于 2013-01-15T21:51:48.790 に答える