我有一个具有以下架构的表:
CREATE TABLE IF NOT EXISTS `feeds` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`external_id` varchar(255) DEFAULT NULL,
`user_id` int(11) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
`notes` text,
`image_id` int(11) DEFAULT NULL,
`location_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=9046 ;
我在 external_id
和 location_id
上创建索引,它们将分别用于影响表的不同查询。我知道每次添加、更新或删除记录时,MySQL 都必须重建索引。我无法弄清楚的是,更新此表中记录的 name
字段是否会导致重建其中一个或两个索引。另外,我想知道,这两个单独的索引可以存在于这个表上而不会对彼此的性能产生负面影响吗?感谢您的宝贵时间。
最佳答案
索引不是“重建的”,而是更新的。更改未索引列中的数据不应导致任何重新索引事件。
关于mysql - 同一张表的多个索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12899607/