我在MariaDB的一個很大的日誌表/ MySQL的:創建月份和年份列,以加快時間戳查詢
CREATE TABLE `logs` (
`id` CHAR(36) NOT NULL,
`user` CHAR(4) NOT, NULL,
`dateCreated` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`dateUpdated` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
我想基於用戶和日期的月份和年份創建查詢日誌:
select * from logs where month(dateCreated) = '9' and year(dateCreated) = '2016' and user = '1234'
問: 如果我創建了兩個列名爲年份和月份,和指數一個月,一年,而用戶加快查詢?
基準兩者兼得。創建/維護列的開銷可能遠遠超過緩存數據的任何好處。 –
PK是表中不存在的列。輝煌! – Strawberry
無論如何,存儲日期爲日期。並使用範圍查詢。 – Strawberry