我們決定使用Nvarchar
來將某些信息存儲在某些表中,原因是我們假定由於數據庫包含法語和德語數據,因此我們會有很多特殊字符。檢查字段是否包含SQL中的特殊字符
提取一些數據,我們估計全力奔跑有和extreamlly巨大的大小(20 TB)
現在我們想檢查每一個表中查找,如果有發現,如果沒有則特殊字符我們將類型從NvarChar
更改爲Varchar
任何想法我們如何查詢?
或者您認爲優化尺寸的最佳方法是什麼?
我們決定使用Nvarchar
來將某些信息存儲在某些表中,原因是我們假定由於數據庫包含法語和德語數據,因此我們會有很多特殊字符。檢查字段是否包含SQL中的特殊字符
提取一些數據,我們估計全力奔跑有和extreamlly巨大的大小(20 TB)
現在我們想檢查每一個表中查找,如果有發現,如果沒有則特殊字符我們將類型從NvarChar
更改爲Varchar
任何想法我們如何查詢?
或者您認爲優化尺寸的最佳方法是什麼?
必須解決這個前陣子自己:
使用正則表達式:
LIKE '%[^a-zA-Z0-9]%'
爲了解決搜索表的問題,請嘗試:How do I find a value anywhere in a SQL Server Database?,如果不是我有一個更好的地方,我用。
其實一個更好的主意是使用壓縮表。 SQL Server 2008有page compression,SQL Server 2008 R2增加了Unicode compression。
http://stackoverflow.com/questions/2558755/how-to-detect-if-a-string-contains-special-characters – Pamma 2013-03-15 22:17:41
我認爲你應該編寫一個程序來查詢每個表的每一列的那些特殊字符。一個快速的谷歌出現了一個很好的,你可以修改一些你需要的東西。 http://vyaskn.tripod.com/search_all_columns_in_all_tables.htm它創建一個臨時表,該表將存儲找到匹配的表和列名稱。 – Scotch 2013-03-15 22:18:37