我有一张表 里面有10W条数据 。
我现在要向里面加组合索引。
表有7个字段,加4个字段的字符索引。 因为数据太多,创建的效率太低,半个小时过去了,也没有创建成功,,,,
innodb_buffer_pool_size=8M
请问怎样才能快速有效的创建这个索引。
我现在要向里面加组合索引。
表有7个字段,加4个字段的字符索引。 因为数据太多,创建的效率太低,半个小时过去了,也没有创建成功,,,,
innodb_buffer_pool_size=8M
请问怎样才能快速有效的创建这个索引。
+----------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+-------+
| xf_cameraid | varchar(45) | NO | | | |
| xf_startyear | varchar(4) | NO | | | |
| xf_startmonth | varchar(2) | NO | | | |
| xf_startday | varchar(2) | NO | | | |
| xf_starthour | varchar(2) | NO | | | |
| xf_startminute | varchar(2) | NO | | | |
| xf_endyear | varchar(4) | NO | | | |
| xf_endmonth | varchar(2) | NO | | | |
| xf_endday | varchar(2) | NO | | | |
| xf_endhour | varchar(2) | NO | | | |
| xf_endminute | varchar(2) | NO | | | |
| xf_incount | int(11) | NO | | | |
| xf_outcount | int(11) | NO | | | |
| xf_res | varchar(255) | NO | | | |
| xf_machineid | varchar(45) | NO | | | |
+----------------+--------------+------+-----+---------+-------+
表结构是这样的。开始没有加索引。。请问,我想快速加,应该怎么加。
1. 然后对原来的表改名,然后建立临时表,此时用到的参数是TMP_TABLE_SIZE,加大!2. 然后删除原来的表,对临时表改名。在1到2操作中用到INNODB_BUFFER_POOL_SIZE 和 KEY_BUFFER_SIZE。加大它们。(如果你对配置不做任何修改的话。)