私は複合主キーを持っていますが、これらを合わせるとかなり大きい(〜2000バイト)ことがわかります。パフォーマンスに関する考慮事項はありません。一意性を強制するための主キーが必要です。
MySqlは長い主キーが好きではありません。これを回避する方法はありますか?おそらく、インデックスを作成せずに、一意性を強制するだけですか?
主キーを有効にするためだけにUTF8の代わりにASCIIを使用したくありません(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;