mysql单表百万查询_mysql 单表百万级记录查询分页优化

insert select (制造百万条记录)在开始百万级数据的查询之前,自己先动手制造百万级的记录来供我们使用,使用的方法是insert select方法INSERT 一般用来给表插入一个指定列值的行。但是,INSERT 还存在另一种形式,可以利用它将一条SELECT 语句的结果插入表中。这就是所谓的INSERT SELECT, 顾名思义,它是有一条INSERT语句和一条SELECT语句组成的。...
摘要由CSDN通过智能技术生成

insert select (制造百万条记录)

在开始百万级数据的查询之前,自己先动手制造百万级的记录来供我们使用,使用的方法是insert select方法

INSERT 一般用来给表插入一个指定列值的行。但是,INSERT 还存在另一种形式,可以利用它将一条SELECT 语句的结果插入表中。这就是所谓的INSERT SELECT, 顾名思义,它是有一条INSERT语句和一条SELECT语句组成的。

现在,有一个warning_reparied表,有2447条记录,如下:mysql> select count(*) from warning_repaired;

+----------+

| count(*) |

+----------+

|     2447 |

+----------+

1 row in set (0.00 sec)

mysql>

使用这个warning_repaired表创建出一个百万级数量的表:

首先,创建一个新表warning_repaired1,mysql>  CREATE TABLE `warning_repaired1` (

->   `id` int(11) NOT NULL AUTO_INCREMENT,

->   `device_moid` varchar(36) NOT NULL,

->   `device_name` varchar(128) DEFAULT NULL,

->   `device_type` varchar(36) DEFAULT NULL,

->   `device_ip` varchar(128) DEFAULT NULL,

->   `warning_type` enum('0','1','2') NOT NULL,

->   `domain_moid` varchar(36) NOT NULL,

->   `domain_name` varchar(128) DEFAULT NULL,

->   `code` smallint(6) NOT NULL,

->   `level` varchar(16) NOT NULL,

->   `description` varchar(128) DEFAULT NULL,

->   `start_time` datetime NOT NULL,

->   `resolve_time` datetime NOT NULL,

->   PRIMARY KEY (`id`),

->   UNIQUE KEY `id` (`id`)

-> ) ENGINE=InnoDB AUTO_INCREMENT=4895 DEFAULT CHARSET=utf8;

Query OK, 0 rows affected (0.39 sec)

mysql> select count(*) from warning_repaired1;

+----------+

| count(*) |<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值