我们决定使用Nvarchar
在一些表中存储一些信息,原因是我们假设我们会有很多特殊字符,因为数据库包含法语和德语数据。
在提取了一些数据后,我们估计完整的运行具有非常大的大小(20 TB)
现在我们要检查每个表以查找是否找到特殊字符,如果没有,我们将类型从 更改NvarChar
为Varchar
知道我们如何查询这个吗?
或者您认为优化尺寸的最佳方法是什么?
我们决定使用Nvarchar
在一些表中存储一些信息,原因是我们假设我们会有很多特殊字符,因为数据库包含法语和德语数据。
在提取了一些数据后,我们估计完整的运行具有非常大的大小(20 TB)
现在我们要检查每个表以查找是否找到特殊字符,如果没有,我们将类型从 更改NvarChar
为Varchar
知道我们如何查询这个吗?
或者您认为优化尺寸的最佳方法是什么?
不久前我不得不解决这个问题:
使用正则表达式:
LIKE '%[^a-zA-Z0-9]%'
要解决搜索表的问题,请尝试:如何在 SQL Server 数据库中的任何位置查找值?,如果没有,我会在我使用的某个地方找到一个更好的。
实际上一个更好的主意是使用压缩表。SQL Server 2008 具有页面压缩功能,SQL Server 2008 R2 在此基础上添加了Unicode 压缩。