我的意思是这里的SQL可以是任何SQL,比如SQL服务器,My SQL,SQLite甚至MS Access等。我想知道表的大小取决于表的实际行数,具体取决于表中单元格的内容。例如:SQL表的大小取决于什么?
我有一个具有固定设计结构像这样的表:
create table SampleTable (
ID int primary key,
Message varchar(500)
)
这里是1行的表:
ID | Message
1 I love .NET --11 characters for Message
这里也是一个表1行:
ID | Message
1 I also love Java --16 characters for Message
如果大小取决于行数,上面的两个表会有相同的大小,如果它还取决于单元格的内容,则第二个表格将具有较大的大小。我想知道哪个更大?我关心这个问题,因为在某些情况下,我真的希望最大限度地增加字段的最大数量(在SQL Server中为8000),以使用户免费输入他/她想要的任何东西,但是我害怕制作我的数据库文件太大(不必要,成本高昂)。
您的帮助将不胜感激!
取决于实现。在SQL Server中,固定长度数据类型使用完整声明的数据类型。可变长度的只是内容的大小。除非在固定长度的长度存储为可变长度时使用压缩。也有一个稀疏的列格式,它又是不同的。但是,过度声明的列宽可能会影响内存分配。 – 2013-05-03 15:43:32
如果要便宜可以防止您满足您的业务需求,这是一个坏主意, – 2013-05-03 15:44:26
对于SQL Server,MSDN [解释](http://msdn.microsoft.com/zh-cn/library/ms175991.aspx)如何估计表和索引的表大小。相同的一般想法可能适用于其他平台。 – Pondlife 2013-05-03 15:45:21