直接alter table add index 添加索引,執行一個小時沒反應,並且會導致鎖表;故放棄該辦法,最終解決辦法如下:
一.打開mysql 命令行客戶端
這里我們那可以看到導出的數據文件所存放的默認位置 C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\
二. 創建新表
-
創建一張新表與要添加索引的表結構保持一致; CREATE TABLE 表名 LIKE 要復制的表名; (僅復制表結構)
- .添加索引:
(1).添加PRIMARY KEY(主鍵索引)
mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
(2).添加UNIQUE(唯一索引)
mysql>ALTER TABLE `table_name` ADD UNIQUE ( `column` )
(3).添加INDEX(普通索引)
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` )
(4).添加FULLTEXT(全文索引)
mysql>ALTER TABLE `table_name` ADD FULLTEXT ( `column`)
(5).添加多列索引
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )
三.導出數據文件
select * from 'table_name' into outfile 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/table.txt';
注意:這里必須為 /
必須保證目錄文件夾" C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\"存在,否則報不能創建文件錯誤;
如果報錯:The MySQL server is running with the --secure-file-priv option so it cannot execute this statement 則表示數據庫參數secure-file-priv配置錯誤;
四.導入數據文件到新表
load data infile 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/table.txt' into TABLE 'table_name';