博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据的高级操作——蠕虫复制
阅读量:7081 次
发布时间:2019-06-28

本文共 2516 字,大约阅读时间需要 8 分钟。

蠕虫复制:从已有的数据表中获取数据,然后将数据进行新增操作,数据成倍(以指数形式)的增加。

根据已有表创建新表,即复制表结构,其基本语法为:

  • create table + 表名 + like + [数据库名.]表名;
mysql> create table my_friends(    ->  name varchar(20)    -> )charset utf8;Query OK, 0 rows affectedmysql> desc my_friends;+-------+-------------+------+-----+---------+-------+| Field | Type        | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+-------+| name  | varchar(20) | YES  |     | NULL    |       |+-------+-------------+------+-----+---------+-------+1 row in setmysql> create table my_copy like my_friends;Query OK, 0 rows affectedmysql> desc my_copy;+-------+-------------+------+-----+---------+-------+| Field | Type        | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+-------+| name  | varchar(20) | YES  |     | NULL    |       |+-------+-------------+------+-----+---------+-------+1 row in set

如上图所示,表my_copy和表my_friends的表结构完成相同。

蠕虫复制的步骤为:先查出数据,然后将查出的数据新增一遍。

  • 基本语法insert into + 表名 + [()] + select + 字段列表/* + from + 表名;
mysql> select * from my_friends;+-----------+| name      |+-----------+| xiaohei   || xiaohong  || xiaohuang || xiaoming  |+-----------+4 rows in setmysql> insert into my_copy select * from my_friends;Query OK, 4 rows affectedRecords: 4  Duplicates: 0  Warnings: 0mysql> select * from my_copy;+-----------+| name      |+-----------+| xiaohei   || xiaohong  || xiaohuang || xiaoming  |+-----------+4 rows in set

如上图所示,my_friends表中的数据已完全复制到my_copy中,   接下来,咱们再执行如下 SQL 语句,测试蠕虫复制的效果:

mysql> insert into my_copy select * from my_copy;Query OK, 4 rows affectedRecords: 4  Duplicates: 0  Warnings: 0mysql> insert into my_copy select * from my_copy;Query OK, 8 rows affectedRecords: 8  Duplicates: 0  Warnings: 0mysql> insert into my_copy select * from my_copy;Query OK, 16 rows affectedRecords: 16  Duplicates: 0  Warnings: 0mysql> select * from my_copy;+-----------+| name      |+-----------+| xiaohei   || xiaohong  || xiaohuang || xiaoming  || xiaohei   || xiaohong  || xiaohuang || xiaoming  || xiaohei   || xiaohong  || xiaohuang || xiaoming  || xiaohei   || xiaohong  || xiaohuang || xiaoming  || xiaohei   || xiaohong  || xiaohuang || xiaoming  || xiaohei   || xiaohong  || xiaohuang || xiaoming  || xiaohei   || xiaohong  || xiaohuang || xiaoming  || xiaohei   || xiaohong  || xiaohuang || xiaoming  |+-----------+32 rows in set

如上图所示,通过观察每次执行 SQL 语句后影响的列数,分别为4816等,咱们会发现蠕虫复制的效果呈(指数)爆炸性增长。

蠕虫复制的意义

  1. 从已有的数据表中拷贝数据到新的数据表;
  2. 可以迅速的让表中的数据膨胀到一定的数量级,多用于测试表的压力及效率。

转载于:https://www.cnblogs.com/ZZUGPY/p/8397309.html

你可能感兴趣的文章
C/C++拾遗(一):关于数组的指针和数组元素首地址的一道经典题
查看>>
kafka 主要内容介绍
查看>>
Linux获取网页源码的几种方法
查看>>
write a python http server & client
查看>>
并非全部的程序猿都适合做技术管理
查看>>
jQuery 效果 - 淡入淡出
查看>>
SSDB图形界面管理工具:phpssdbadmin安装部署
查看>>
how to backup and restore database of SQL Server
查看>>
Hibernate- QBC查询方式
查看>>
【Linux】linux查看日志文件内容命令tail、cat、tac、head、echo
查看>>
php中的或运算
查看>>
位图(BitMap)索引
查看>>
CSS3伪类和伪元素的特性和区别
查看>>
vue实现文章内容过长点击阅读全文功能
查看>>
记一次elementUI Icon 加载无效的问题。并且提示错误 Failed to decode downloaded font:
查看>>
OpenGL之位图的绘制和gluOrtho2D等函数详解
查看>>
Linux磁盘概念及其管理工具fdisk
查看>>
Linux epoll版定时器
查看>>
objective C中数据持久化方式1--对象归档
查看>>
Python面向对象编程 - 一个记事本程序范例(一)
查看>>