首页 > 解决方案 > 如果另一列是 varchar,char 有用吗?

问题描述

如果一个表有一个可变长度的列,那么其他列的长度固定会不会有任何好处,或者它们的优势会因为行没有固定长度而被取消,因此 SQL 应用程序将无法计算位置一排容易吗?

如果这很重要,我问的是 SQL Server。

编辑重复??哇。哇...

标签: sqlsql-serversql-server-2016

解决方案


从寻址记录的角度来看,这根本没有区别。不要担心 SQL Server 会找到行的位置。数据库不假定行是具有固定长度项的数组。

相反,行存储在数据页上。数据页有一个标题。标题具有页面上行的偏移量。没有乘以固定长度来查找记录的开始位置。

好吧,从技术上讲,行偏移不是页眉的一部分,而是页脚的一部分。这是一个细微差别。 是页面布局的一个很好的描述。该主题也包含在文档中。


推荐阅读