Допустим, есть таблица table_test
, и в ней около 10 миллионов строк данных. И я хочу добавить поле auto_increment, например key
, чтобы выполнить работу по нумерации страниц. Каков наилучший способ заставить его работать?
структура таблицы, как показано ниже:
# table_test
+---------------------------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------------------------------+--------------+------+-----+---------+-------+
| ad_id | int(64) | NO | PRI | NULL | |
| account_id | varchar(64) | YES | MUL | NULL | |
| country | varchar(64) | NO | PRI | NULL | |
| image_hash | varchar(64) | YES | | NULL | |
+---------------------------------------+--------------+------+-----+---------+-------+
| table_test | CREATE TABLE `table_test` (
`ad_id` int(11) NOT NULL,
`account_id` varchar(64) DEFAULT NULL,
`country` varchar(64) NOT NULL,
`image_hash` varchar(64) DEFAULT NULL,
PRIMARY KEY (`id`,`country`),
KEY `account_id` (`account_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 |
обновление:
изменить id
на ad_id
, а ad_id
- это уникальный ключ с полем country
, поэтому сам ad_id
может дублироваться.