SQL编程创建100万条数据测试索引

CREATE TABLE `app_user`(
`id` BIGINT (20) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(50) DEFAULT ' ' COMMENT'用户昵称',
`email` VARCHAR (50) NOT NULL COMMENT'用户邮箱',
`phone` VARCHAR(20) DEFAULT '' COMMENT '手机号',
`gender` TINYINT(4) UNSIGNED DEFAULT '0' COMMENT '性别(0:男; 1:女) ',
`password` VARCHAR(100) NOT NULL COMMENT '密码',
`age` TINYINT(4) DEFAULT '0' COMMENT '年龄',
`create_ time` DATETIME DEFAULT CURRENT_TIMESTAMP,
`update_ time` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (`id`)) ENGINE= INNODB DEFAULT CHARSET=utf8mb4 COMMENT= ' app用户表'-- 临时生效-- 不过 重启了 就失效了
-- 注意:有主从复制的时候 从机必须要设置 不然会导致主从同步失败
-- 永久生效
-- 在my.cnf里面设置
-- LOG-BIN-trust-FUNCTION-creators=1
-- 不过这个需要重启服务-- 插入100万条数据
SET GLOBAL log_bin_trust_function_creators = 1;
DELIMITER $$  -- 写函数之前必须要写的标志
CREATE FUNCTION mock_data()
RETURNS INT
BEGINDECLARE num INT DEFAULT 1000000;DECLARE i INT DEFAULT 0;WHILE i<num DO-- 插入语句INSERT INTO app_user(`name`,`email`,`phone`,`gender`,`password`,`age`) VALUES (CONCAT('用户',i),'3066686@qq.com',CONCAT('18',RAND()*FLOOR((999999999-100000000)+100000000)),FLOOR(RAND()*2),UUID(),FLOOR(RAND()*100));SET i=i+1;END WHILE;RETURN i;
END;SELECT mock_data();SELECT *FROM app_user WHERE `name` ='用户9999'   -- 12.880 sec
EXPLAIN SELECT *FROM app_user WHERE `name` ='用户9999'-- id_表名_字段名
-- create index 索引名 on 表(字段)
CREATE INDEX id_app_user_name ON app_user(`name`)
SELECT *FROM app_user WHERE `name` ='用户9999'  --  0.242 sec

索引在小数据量的情况下作用不大,但在大数据量的情况下作用很大

使用SQL编程创建100万条数据测试索引相关推荐

  1. 导出100万条数据到excel

    导出100万条数据到excel 目的 数据库中有100万条数据,用java程序导入到excel,所花费的时间 演示 过程 eclipse 创建main sqlserver连接数据库程序 TCP/IP连 ...

  2. sql server批量插入数据库的操作100万条数据

    1.数据库中 首先创建表->连接数据库->通过循环插入数据 2.建立测试表 在这里插入代码[c-sharp] view plain copy --Create DataBase creat ...

  3. 极限挑战—C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码)

    实际工作中有时候需要把大量数据导入数据库,然后用于各种程序计算,本实验将使用5中方法完成这个过程,并详细记录各种方法所耗费的时间. 本实验中所用到工具为VS2008和SQL SERVER 2000.S ...

  4. 查询分析300万笔记录_给你100万条数据的一张表,你将如何查询优化?

    1.两种查询引擎查询速度(myIsam 引擎) InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行. ...

  5. 给你100万条数据的一张表,你将如何查询优化?

    1.两种查询引擎查询速度(myIsam 引擎 ) InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行. ...

  6. python读取大数据量xml_[C#]_[使用微软OpenXmlSDK (OpenXmlReader)读取xlsx表格] 读取大数据量100万条数据Excel文件解决方案...

    1.OpenXmlSDK是个很好的类库,可惜只能通过C#调用,C#的童鞋又福气了. 2.服务端程序由于没法安装office,所以这个对asp.net网站来说是最理想的库了.需要.net 4.0版本以上 ...

  7. qt中的mysql能存入多少行数据_Qt中提高sqlite的读写速度(使用事务一次性写入100万条数据)...

    SQLite数据库本质上来讲就是一个磁盘上的文件,所以一切的数据库操作其实都会转化为对文件的操作,而频繁的文件操作将会是一个很好时的过程,会极大地影响数据库存取的速度.例如:向数据库中插入100万条数 ...

  8. Mysql 给你100万条数据的一张表,你将如何分页查询优化?

    1.两种查询引擎查询速度(myIsam 引擎 ) InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行. ...

  9. java 排序stackoverflow_爬取 100 万条 StackOverflow 问答后,我得出的结论!

    爬虫的具体操作流程是,打开 StackOverflow 主页,在 questions 页面下选择按 vote 排序,爬取前 20000 页,每页将问题数量设置为 50,共 100 万条,实际上用数据库 ...

最新文章

  1. DotNET企业架构应用实践-企业管理软件架构(计算)的历史与发展(上)
  2. ssh 2014-12-10
  3. 浅谈ROS操作系统及其应用趋势
  4. 前端学习(665):逻辑中断逻辑或二
  5. autopoi升级到4.0版本修改方法
  6. Java垃圾回收精粹 — Part4
  7. ios3怎么取消长按弹出菜单_iOS中长按调出菜单组件UIMenuController的使用实例
  8. php 快递100接口
  9. 0CTF-babyheap2017祥讲
  10. html5 电子白板 直播,HTML5 canvas教程 如何实现电子白板
  11. Netty中使用WebSocket实现服务端与客户端的长连接通信发送消息
  12. 第8周编程题在线测试
  13. 如何将网易云音乐的歌单同步到spotify
  14. [题解]斐波那契数列
  15. 新入行的软件测试工程师都应该知道的,不然为时已晚~
  16. android驱动例子(led灯控制),android驱动例子(LED灯控制)
  17. java ——StringBuffer与StringBuilder
  18. 公司给出的选择,我该怎么做??请大家帮忙提提建议!!
  19. origin2019插入图片_Origin2019
  20. 如何在服务器端开启X Display(本地可操作远程界面)

热门文章

  1. 库会因为权限问题无法打开——selinux开启严格模式
  2. python实现刷博器(适用于新浪、搜狐)
  3. 当DIV中的内容超过 div的宽度的时候
  4. 内部办公网与IDC机房的GRE隧道配置实践
  5. zabbix agent启动不了
  6. 下载Nagios监控软件步骤
  7. 比较两个sheet页中的内容,自动切换
  8. Postgre 中的空值判断
  9. Linux 中的 【 TOP 】 命令,查看CUP的使用率
  10. Linux中修改PATH环境变量(只在当前窗口下生效)