我有一个复合主键,它加起来相当大(~2000 字节)。我没有性能考虑,我只是想要一个主键来强制唯一性。
MySql 不喜欢长主键。有没有解决的办法?也许只强制唯一性,而不建立索引?
我不想使用 ASCII 而不是 UTF8 来启用主键(UTF8 字符需要 3 个字节)。
我的表定义如下:
CREATE TABLE `configuration` (
`Section` varchar(200) NOT NULL,
`StoredKey` VARCHAR(200) NOT NULL,
`ServiceName` VARCHAR(300) NOT NULL,
`ServiceMajorVersion` int unsigned NOT NULL,
`ServiceMinorVersion` int unsigned NOT NULL,
`ServiceInstanceID` VARCHAR(100) NOT NULL,
`StoredValue` VARCHAR(1024)
, PRIMARY KEY (`Section`, `StoredKey`, `ServiceName`, `ServiceMajorVersion`, `ServiceMinorVersion`, `ServiceID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;