MySQL перестраивает индекс столбца, если столбец переименован? - PullRequest
0 голосов
/ 05 апреля 2011

Имя столбца - единственное, что меняется ... MySQL перестроит этот индекс?

Ответы [ 2 ]

1 голос
/ 13 апреля 2011
create table t1(id int, name varchar(100));
alter table t11 add index name_idx(name);

mysql> show create table t11;
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                           |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
| t11   | CREATE TABLE `t11` (
  `id` int(11) DEFAULT NULL,
  `name` varchar(100) DEFAULT NULL,
  KEY `name_idx` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)


alter table t11 change column name  name1 varchar(100);

mysql> show create table t11;
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                             |
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
| t11   | CREATE TABLE `t11` (
  `id` int(11) DEFAULT NULL,
  `name1` varchar(100) DEFAULT NULL,
  KEY `name_idx` (`name1`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 |
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql автоматически изменит индексы для вас и не перестраивает индекс

1 голос
/ 05 апреля 2011

Не подумал бы так о C-ISAM, не уверен насчет INNODB. Что происходит, когда вы пытаетесь это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...