mysql百万数据建索引时间_mysql百万的数据快速创建索引
测试数据本机一张表users有100百万条记录。在创建此表前没有未相应字段添加索引,所以此时需要为表添加索引。但是因为数据量大的原因,索引添加可能不成功,想了很多办法,终于挖坑成功。
开始准备工作,
user表结构:
CREATE TABLE`users` (
`id`int(11) unsigned NOT NULLAUTO_INCREMENT,
`name`varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL,
`add_time`int(11) DEFAULT NULL,PRIMARY KEY(`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1000001 DEFAULT CHARSET=latin1;
尝试在navicat中使用 into outfile导出数据的时候出现错误:
select * from users into outfile ‘users.txt‘; //users.txt文件在mysql的dat
如下图:
上网查了一下是mysql设置的权限,可以使用
show variables like ‘%secure%‘;查看 secure-file-priv 当前的值是什么?
可以看到secure-file-priv参数是用来限制LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE()传到哪个指定目录的。 当secure_file_priv的值为null ,表示限制mysqld 不允许导入|导出 当secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入|导出只能发生在/tmp/目录下 当secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制.
导出的数据必须是这个值的指定路径才可以导出,默认有可能是NULL(我这里查看的是null)就代表禁止导出,所以需要设置一下
由于我使用的是phpstudy,mysql安装路径下的my.ini文件,设置一下路径:
注意:路径名加双引号" "
重启后再次执行错误依旧.....
mysql.cnf中没有对这个参数进行设定,就说明这个参数默认便是null
所以再尝试修改mysql.cnf中的[mysqld]加入secure_file_priv=
最终如下:
再次重启mysql
可以看到users.txt生成在同级test数据库目录。。。
接着执行:
truncate users;
创建索引:
create index name using BTREE on users(name);
索引的方式有:BTREE、RTREE、HASH、FULLTEXT、SPATIAL,这里不再赘述他们的区别,网上有很多关于这块的介绍啦
导入文件到相应表users。
load data infile ‘users.txt‘ into table users;
此方式在write 锁住情况下,或对外服务暂停时使用,线上不可能直接这样玩了。。
mysql百万数据建索引时间_mysql百万的数据快速创建索引相关推荐
- GaussDB(for MySQL)如何快速创建索引?华为云数据库资深架构师为您揭秘
摘要:云服务环境下,如何解决客户基于大量数据创建索引的性能问题,成为云服务厂商的一个挑战.华为云GaussDB(for MySQL)通过引入并行创建索引技术,很好地解决了批量索引创建和临时添加索引等性 ...
- mysql千万级数据索引查询_mysql千万级数据量根据索引优化查询速度
(一)索引的作用 索引通俗来讲就相当于书的目录,当我们根据条件查询的时候,没有索引,便需要全表扫描,数据量少还可以,一旦数据量超过百万甚至千万,一条查询sql执行往往需要几十秒甚至更多,5秒以上就已经 ...
- mysql 表 视图 索引吗_Mysql多表查询, 视图,事务,索引,函数,go连接数据库
1.1 今日目标 理解多表查询 理解子查询 能够创建视图 能够删除视图 能够查看创建视图的SQL语句 能够理解事务的作用 能够操作事务 理解索引的作用 能够创建索引 能够删除索引 知道常用的函数 了解 ...
- oracle查询删除时间戳,Oracle查询时间戳,建表时间,新建序列,误删数据
Oracle的时间戳格式查询如下: SELECT VALUE FROM NLS_SESSION_PARAMETERS WHERE PARAMETER = 'NLS_TIMESTAMP_FORMAT'. ...
- mysql 索引触发_Mysql基本查询、视图、索引、触发器
基本查询 1.修改 String sql="update smbms_user set userCode=?,userName=? where id=?"; 2.删除用户 Stri ...
- 数据可视化大屏电商数据展示平台开发实录(Echarts柱图曲线图、mysql筛选统计语句、时间计算、大数据量统计)
数据可视化大屏电商数据展示平台 一.前言 二.项目介绍 三.项目展示 四.项目经验分享 4.1 翻牌器 4.1.1 翻牌器-今日实时交易 4.1.2.翻牌器后端统计SUM函数的使用 4.2 不同时间指 ...
- mysql数据库导出后乱码问题_MySQL导入导出数据出现乱码的解决办法
在mysql导入导出数据时经常出现中文乱码的问题,大多是因类导入导出时编码设置不一致所引起的.本文介绍了不同平台下的编码转换方法,供大家参考. 在linux系统中默认的是utf8编码,而windows ...
- mysql修改字段为现在时间_mysql如何修改字段自动生成时间
mysql修改字段自动生成时间的方法:1.添加CreateTime设置默认时间:2.修改CreateTime设置默认时间:3.添加UpdateTime设置默认时间. 本教程操作环境:windows7系 ...
- mysql视图表怎么设置约束_MySQL一一sql的视图、索引、约束
一.视图 本质上相当于一张**"虚拟表"**,可当作独立的一张表进行操作(增.删.改.查) ** 作用:** ** a)**可通过权限控制,只将"表 ...
最新文章
- Android Wifi 主动扫描 被动扫描
- 基于windows 2012部署oracle 12.1.0.2 rac历险记
- Activity启动流程:Hook实现启动未注册Activity
- 再见!人人影视...
- Spring切点表达式常用写法
- java新建测试程序_java – 如何创建一个CloseableHttpResponse对象来帮助测试?
- 说说TDD的好处和坏处-对话
- 绝地求生5月22日服务器维护,绝地求生5月22日更新了什么内容 吃鸡5月22日维护公告...
- py2exe for python3_使用Py2Exe for Python3创建自己的exe程序
- ListView与.FindControl()方法的简单练习 #2 -- ItemUpdting事件中抓取「修改后」的值
- Windows 桌面主题,桌面背景
- python基础装饰器(二十)
- 重磅! flutter视图局部更新
- 合并多行查询数据到一行:使用自连接、FOR XML PATH('')、STUFF或REPLACE函数
- 第五人格显示服务器维护中请稍后登录怎么办,《第五人格》未知异常 请稍后重试登不上去如何解决...
- 山大商院java课程_山大商院必读书目推荐——《社会科学方法论》
- win7 计算机设置命令,win7系统如何设置自动关机?
- ios底层是linux,深入iOS系统底层之CPU寄存器介绍
- appium使用相对坐标定位元素
- android+照相软件,韩国很火的照相app
热门文章
- python 网络编程是什么_什么是网络编程-Python 网络编程-嗨客网
- Android如何播放h.264格式视频
- < CSS技巧 之 弹性布局( Flex布局 ) - 实例篇 >
- 分享 孩子,请记住那些比药家鑫更凶恶的人——21世纪经济导报记者周斌写给张妙儿子的一封信(转)...
- 烧烤食客钟爱肉类 人均消费价格超正餐
- 超小型迷你BT客户端-uTorrent(附安装教程)
- 用c++实现AES基本算法
- 仙人掌问题(圆方树)
- 掌通家园获大钲资本领投1亿美元D轮融资,加速构建幼教服务平台
- c语言中0x12是什么进制,C语言中进制知识汇总