我将本地化的字符串存储在使用MS Sql(2008或其他)的单个数据表中。大多数字符串都很短,可以用varchar(200)表示,而大约10%的字符串需要varchar(5000)之类的东西。我的问题是,是否有更短的检索字符串时,性能上的优势,如果我打破了这种成两个表是这样的:SQL nvarchar性能
CREATE TABLE ShortTextTable(ID bigint IDENTITY(1,1) NOT NULL, TextValue nvarchar(200))
CREATE TABLE LongTextTable(ID bigint IDENTITY(1,1) NOT NULL, TextValue nvarchar(4000))
对战:
CREATE TABLE TextTable(ID bigint IDENTITY(1,1) NOT NULL, TextValue nvarchar(4000))
这些数据将很少更新,我只是很真正关心读取。
关于过早优化的好处。出于这个原因,我会坚持单桌设计。 – Paul 2009-07-13 19:23:52
另一个问题是,使用2个表格,您将不再能够轻松创建单个外键约束。 – 2009-07-13 21:01:42