我有一个会在页面上生成大量笔记的应用。
用户可以单击页面上的任意位置以创建快速注释(来自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个或更多注释? 这是我最初的想法;调用1个大字段的性能比100个或更多的内容更短(输入的值)?
答案 0 :(得分:2)
拥有1个巨大的字段只是凌乱而且不适合RDBMS模型。仅仅查看SQL数据并理解它就变得更加困难。您无法索引这些类型的字段,因此查找特定注释需要很长时间。插入和删除可能也需要更长时间。您需要特定的功能来处理在此字段中拆分数据。
有100行代替......好吧,那就是更多的行(如果你看一下中型数据库,那就不多了),但是如果你只存储最小数据并正确索引,你最终可能会结构不比单一场地方法更大或更慢。
基本上,你需要考虑你想用这些笔记做什么。如果最常见的操作只是give me all notes
,那么单个字段可能就好了。一旦开始进行大量插入,删除和搜索,许多行将胜过单个字段。为了可维护性,在任何一种情况下都可以更好地使用多行(如果需求有一些变化)。