給mysql一百萬條數據的表添加索引


直接alter table add index 添加索引,執行一個小時沒反應,並且會導致鎖表;故放棄該辦法,最終解決辦法如下:

一.打開mysql 命令行客戶端

 這里我們那可以看到導出的數據文件所存放的默認位置  C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\

 

二. 創建新表

  1. 創建一張新表與要添加索引的表結構保持一致; CREATE TABLE 表名 LIKE 要復制的表名; (僅復制表結構)

  2. .添加索引:

    (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';


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM