mysql - 同一张表的多个索引

标签 mysql indexing schema

我有一个具有以下架构的表:

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_idlocation_id 上创建索引,它们将分别用于影响表的不同查询。我知道每次添加、更新或删除记录时,MySQL 都必须重建索引。我无法弄清楚的是,更新此表中记录的 name 字段是否会导致重建其中一个或两个索引。另外,我想知道,这两个单独的索引可以存在于这个表上而不会对彼此的性能产生负面影响吗?感谢您的宝贵时间。

最佳答案

索引不是“重建的”,而是更新的。更改未索引列中的数据不应导致任何重新索引事件。

关于mysql - 同一张表的多个索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12899607/

相关文章:

mysql - 错误 1215 外键约束

php - 如何找到用户之间的联系,创建一个封闭的 friend 圈?

Pandas 合并具有相同值和相同索引的行

database - 为 SEO 友好的 URL 优化数据库

MySQL 触发器条件逻辑有意外行为

mysql - 我可以在不同机器上的两个 MySQL 表存储之间加入吗?

javascript - JS递归构建对象

xml - JAXB xjc 映射到现有域对象

elasticsearch - ElasticSearch-模式中的字段类型不匹配

php - MySQL - 简化教师/学生订阅者的复杂查询