2

我有一个会在页面上生成大量笔记的应用程序。用户可以单击页面上的任意位置以创建快速注释(例如 Acrobat Pro) 这些注释通常可以使用一些 javascript 行添加和删除<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 个或更多内容更短(输入值)的性能更好?

4

1 回答 1

2

拥有 1 个巨大的字段只是混乱,不适合 RDBMS 模型。仅查看 SQL 数据并理解它是比较困难的。您无法索引这些类型的字段,因此查找特定注释需要很长时间。插入和删除可能也需要更长的时间。您需要特定的功能来处理拆分此字段中的数据。

改为有 100 行......嗯,这是更多的行(虽然如果你查看中型数据库的话根本不多),但如果你只存储最少的数据,并正确索引,你最终可以得到一个结构这并不比单场方法更大或更慢。

基本上,你需要考虑你想用这些笔记做什么。如果最常见的操作只是give me all notes,那么您可能只需要一个字段即可。一旦您开始进行大量插入、删除和搜索,许多行的性能就会优于单个字段。为了可维护性,在任何一种情况下都使用多行可能会更好(以防需求发生一些变化)。

于 2013-01-15T21:51:48.790 回答