zoukankan      html  css  js  c++  java
  • 给mysql一百万条数据的表添加索引

    直接alter table add index 添加索引,执行一个小时没反应,并且会导致锁表;故放弃该办法,最终解决办法如下:

    一.打开mysql 命令行客户端

     这里我们那可以看到导出的数据文件所存放的默认位置  C:ProgramDataMySQLMySQL Server 5.7Uploads

    二. 创建新表

    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:ProgramDataMySQLMySQL Server 5.7Uploads"存在,否则报不能创建文件错误;

    如果报错: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';

  • 相关阅读:
    ntohs, ntohl, htons,htonl的比较和详解【转】
    Device Tree 详解【转】
    浅析Linux DeviceTree【转】
    【spring boot】spring boot 拦截器
    【jQuery】jQuery/js 判断字符串是否JSON字符串
    【java】java中的 &= 和 |= 和 ^= 的区别
    zabbix创建触发器、action,发送报警邮件
    html iframe禁用右键
    mysql数据库mysqldump方式备份
    JDK8新特性
  • 原文地址:https://www.cnblogs.com/rong0912/p/12091861.html
Copyright © 2011-2022 走看看