zoukankan      html  css  js  c++  java
  • SQL Server 2008 引入了“稀疏列”

    SQL Server 2008 消除了每个表只能有1024个列的限制,这是通过一个名叫“稀疏列(sparse columns)”的选项来实现的。虽然不限制列的个数看起来似乎没有多大用处,但确实曾经有开发人员反对过这种限制。

      (稀疏列)一种可能的用途是——在联系人管理系统中,保存一个联系人的大量信息。往往只有很少的用户才会填入所有信息,这就潜在地浪费了大量的空间。(以前)通用的解决方案是,创建一个“实体-属性-值”表,这个表保存了联系人编号、属性的名称或关键字以及属性的值。

      但“实体-属性 -值”表也存在一些问题。一个问题是,这种表的大小要比普通表增长得快,可能会导致一些严重的性能问题。另外,这种表不具有严格的关系。转化一个“实体 -属性-值”表到一个普通表需要花费大量的时间,尤其在SQL Server 2005引入PIVOT关键词之前。

      通过使用稀疏列,列数量的限制和相关的空间要求问题都被根除了。按照Steve Jones的说法,SQL Server 2008理论上能够支持“成千上万的稀疏列”。不过目前关于这个特性的细节还不多。

      Bob Beauchemin给出了一个使用该新语法的例子:

      CREATE TABLE products (product_num int, item_num int, price decimal(7,2), ...,
      color char(5) SPARSE, width float SPARSE...)

  • 相关阅读:
    LeetCode 230. Kth Smallest Element in a BST
    LeetCode 114. Flatten Binary Tree to Linked List
    LeetCode 222. Count Complete Tree Nodes
    LeetCode 129. Sum Root to Leaf Numbers
    LeetCode 113. Path Sum II
    LeetCode 257. Binary Tree Paths
    Java Convert String & Int
    Java Annotations
    LeetCode 236. Lowest Common Ancestor of a Binary Tree
    LeetCode 235. Lowest Common Ancestor of a Binary Search Tree
  • 原文地址:https://www.cnblogs.com/EasyLive2006/p/875389.html
Copyright © 2011-2022 走看看