Mysql
 sql >> база данни >  >> RDS >> Mysql

MySql, как мога да експортирам индекси от моята база данни за разработка в моята производствена база данни?

Може би имате предвид „Как да създам отново моите индекси за развитие в моята (съществуваща) жива база данни“?

Ако е така, мисля, че SQL командите, които търсите, са;

SHOW CREATE TABLE {tablename};

ПРОМЕНИ ТАБЛИЦА ДОБАВЯНЕ НА ИНДЕКС {index_name} (col1, col2)

ПРОМЕНИ ИНДЕКС НА ИЗПУСКАНЕ НА ТАБЛИЦА {index_name}

Можете да копирате редовете "KEY" и "CONSTRAINT" от изхода "SHOW CREATE TABLE" и да го поставите обратно в "ALTER TABLE ADD INDEX".

dev mysql> SHOW CREATE TABLE city;
CREATE TABLE `city` (
  `id` smallint(4) unsigned NOT NULL auto_increment,
  `city` varchar(50) character set utf8 collate utf8_bin NOT NULL default '',
  `region_id` smallint(4) unsigned NOT NULL default '0',
  PRIMARY KEY  (`id`),
  KEY `region_idx` (region_id),
  CONSTRAINT `city_ibfk_1` FOREIGN KEY (`region_id`) REFERENCES `region` (`id`) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB;

live mysql> SHOW CREATE TABLE city;
CREATE TABLE `city` (
  `id` smallint(4) unsigned NOT NULL auto_increment,
  `city` varchar(50) character set utf8 collate utf8_bin NOT NULL default '',
  `region_id` smallint(4) unsigned NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB;

live mysql> ALTER TABLE `city` ADD KEY `region_idx` (region_id);
live mysql> ALTER TABLE `city` ADD CONSTRAINT `city_ibfk_1` FOREIGN KEY (`region_id`) REFERENCES `region` (`id`) ON UPDATE CASCADE ON DELETE RESTRICT;

Надявам се това да помогне!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. превод mysql_fetch_array към PDO::FETCH_NUM

  2. Разбиране на дневника за одит на ProxySQL

  3. ASP.NET MVC 4 EF5 с MySQL

  4. Преобразуване на MyISAM в InnoDB. Благоприятно? Последствия?

  5. Използвайте едноредова заявка с MySQL и PHP