代码之家  ›  专栏  ›  技术社区  ›  dave mankoff

在数据库中存储大量有序但可重新排序的数据的策略?

  •  0
  • dave mankoff  · 技术社区  · 15 年前

    2 回复  |  直到 15 年前
        1
  •  1
  •   Andreas Rehm    15 年前

    您不能在数据中间创建元组。你要把它加在最后。 ORDERBY列必须用于以正确的顺序返回数据,如果对其进行索引,则返回速度会很快。

    不是直接的-有一些在sql中存储树的想法-这比您要求的要多一些-但是几乎是相同的设计。 但是请注意,这将导致对每个元组的查询(读取链接目标,选择下一个元组)。如果处理数百万个元组,这将非常慢。

    你的编辑:你不能在元组中间添加!

    如果您真的需要这样做:

    • 删除旧表
    • 将新表重命名为旧表
    • 请注意,您需要为每个添加的元组执行此操作(只要它没有添加到数据末尾)
        2
  •  0
  •   Damir Sudarevic    15 年前

    数据库不是电子表格,也没有隐含的排序。

    select Col1, Col2, Col3
    from some_table
    where Col3 between value_1 and value_2
    order by Col2 asc;