小编nem*_*ems的帖子

永远不会使用以 DATETIME 作为复合键第一部分的主键索引

我在将日期时间(甚至日期)作为主键的第一部分进行索引时遇到问题。

我使用 MySQL 5.5

这是我的两个表:

-- This is my standard table with dateDim as a dateTime

CREATE TABLE `stats` (
 `dateDim` datetime NOT NULL,
 `accountDim` mediumint(8) unsigned NOT NULL,
 `execCodeDim` smallint(5) unsigned NOT NULL,
 `operationTypeDim` tinyint(3) unsigned NOT NULL,
 `junkDim` tinyint(3) unsigned NOT NULL,
 `ipCountryDim` smallint(5) unsigned NOT NULL,
 `count` int(10) unsigned NOT NULL,
 `amount` bigint(20) NOT NULL,
 PRIMARY KEY (`dateDim`,`accountDim`,`execCodeDim`,`operationTypeDim`,`junkDim`,`ipCountryDim`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8


-- Here is a copy with datDim as an integer

CREATE TABLE `stats_todays` (
`dateDim` …
Run Code Online (Sandbox Code Playgroud)

mysql index primary-key mysql-5.5

17
推荐指数
1
解决办法
3138
查看次数

标签 统计

index ×1

mysql ×1

mysql-5.5 ×1

primary-key ×1