• 给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';

  • 相关阅读:
    JS保留小数点(四舍五入、四舍六入)实例
    HTML5 本地存储 localStorage、sessionStorage 的遍历、存储大小限制处理
    TCP/IP 网络编程(五)
    【IOS】mac终端运行.sh文件总是提示permission denied
    一扫天下——ZXing使用全解析
    《学习bash》笔记--进程处理
    VB断点调试
    poj 2506 Tiling(java解法)
    策略模式实战之优惠方式
    HTML 5 音频Audio
  • 原文地址:https://www.cnblogs.com/rong0912/p/12091861.html
Copyright © 2020-2023  润新知