sql语句创建1万条数据

– 测试

CREATE TABLE IF NOT EXISTSapp_user(
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR (50) DEFAULT ‘’ COMMENT ‘用户名昵称’,
email VARCHAR (50) NOT NULL COMMENT ‘邮箱’,
phone VARCHAR (2) 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用户表’

– 插入一百万条数据

/*
第一个语句 delimiter 将 mysql 解释器命令行的结束符由”;” 改成了” ” , 让 存 储 过 程 内 的 命 令 遇 到 ” ; ” 不 执 行 ∗ / D E L I M I T E R ”, 让存储过程内的命令遇到”;” 不执行 */ DELIMITER ;/DELIMITER
CREATE FUNCTION mock_data()
RETURNS INT
BEGIN
DECLARE num INT DEFAULT 1000000;
DECLARE i INT DEFAULT 0;
WHILE i<num DO
INSERT INTO app_user(name,email,phone,gender)
VALUES(CONCAT(‘用户’,i),‘19224305@qq.com’,‘123456789’,FLOOR(RAND()*2));
SET i=i+1;
END WHILE;
RETURN i;
END;

SELECT mock_data(); – 执行此函数 生成一百万条数据

– 查询

SELECT * FROM app_user WHERE name = ‘用户9999’; – 执行耗时 : 0.490 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 sec

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
摘 要:对海量数据进行访问查询时,常常遇到系统响应时间过长,占用系统资源过多的问题。本文结合实例着重对Oracle数据库中的查询优化进行了研究,测试结果表明采用的方法是很有效的,大大缩短了测试用例表的响应时间,最后对海量数据的优化方法提出了实用性的建议。 关键词:海量数据;Oracle数据库;查询优化;数据查询。 1 引 言 在直升机飞行地面数据处理平台中,需要查询历史飞行数据来进行飞行状态的模拟及其飞行事故的分析,从而对当前飞机状态进行评判。其数据量非常巨大。如何对其进行快速访问,提高系统响应时间就显得十分重要。在实际应用中,往往采用各种优化措施,使得SQL查询经过数据库优化器的处理,得到最佳的执行计划,即数据访问路径,来达到提高响应速度的目的。由于项目采用的是Oracle数据库,以下考虑对Oracle数据库进行的优化情况。 2 Oracle查询顺序及其调整 Oracle优化的一般顺序如下:环境调整(服务器、网络、磁盘)、Oracle实例调整、Oracle对象调整、Oracle SQL调整。我们的测试采用的Oracle数据表容量为50 M,记录条数为50万条。测试方法为:根据用户的查询要求计算得到用户需要浏览的数据记录的起止位置,然后在SQL语句中加入此位置,执行SQL语句,查询该数据表,得到用户想要浏览的记录集合。使 用的SQL语句如下:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值