我有下表,其中包含 1,000,000 多条记录:
CREATE TABLE `products` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`description` text,
PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
我想做的是能够快速获取具有空描述的产品 - 忘记空字符串。
如果我通过描述添加一个键,整个描述都会被索引,我不想要这么大的索引。我确实可以这样做:
ALTER TABLE products ADD KEY has_description (description(1));
这将创建一个只有第一个字符的索引。这比拥有“完整”索引要好得多,但我想知道是否有办法创建适当的索引 - 例如布尔索引,真/假取决于产品是否分别具有描述。
附加要求不是添加具有此值的新列 - 这是微不足道的,但它是我不想在表中包含的重复信息。
已经尝试过类似的东西
ALTER TABLE products ADD KEY has_description (description IS NULL);
......但没有工作。
这完全可以做到吗?