MSSQL节省空间的“不创建”方案(mssql 存在不创建)
《MSSQL节省空间的“不创建”方案》
随着数据库技术的发展,MSSQL已成为一款当下极受欢迎的数据库。但是,当数据量达到一定量级时,MSSQL的空间将会变得非常受限。因此,不同的MSSQL用户对于如何节省存储空间就显得尤为重要,传统上最常用的方法就是删除一些不必要的表,重新设置一些更为节约空间的字段类型。
但是,今天大家要介绍的方案不是删除,而是利用MSSQL的特性,避免创建多余的表,有效节约空间,这就是“不创建”方案。这一方案主要充分利用MSSQL中普遍存在的,支持表数据联结功能。
例如,假设有两张关联表:
表A[Name(nvarchar),Email(varchar)]
表B[Name(nvarchar),Phone(int)]
它们之间有一个外键:Name
传统方案中,这两张表必须要分别创建。但是,我们可以通过不创建表B而实现相同的功能,代码如下:
SELECT
a.Name,
a.Email,
b.Phone
FROM
tableA a
LEFT JOIN
tableB b ON a.Name=b.Name
该方案主要的特点是,将数据分发到不同的表以相互关联的方式进行保存,而不是将数据合并到一张表中的保存,由此可以节省空间。
“不创建”方案的优势当然无需赘述,但是MSSQL的使用者需要注意的是,有时使用“不创建”方案反而会变得不够灵活,例如,有时用户会希望添加更多的字段,但是,“不创建”方案也无法实现这一点。因此,MSSQL的使用者在采用该方案时,应当严密入己对各自的需求进行考量,了解是否真的符合要求。
总而言之,MSSQL节省空间的“不创建”方案确实具备优势,但用户在采用的过程中仍需要考虑好目的以及实际情况,以达到最好的结果。