蠕蟲復制
蠕蟲復制:從已有的數據表中獲取數據,然后將數據進行新增操作,數據成倍(以指數形式)的增加。
根據已有表創建新表,即復制表結構,其基本語法為:
create table + 表名 + like + [數據庫名.]表名;
執行如上 SQL 語句,進行測試:
-- 根據已有表,創建新表,當兩張表位於同一數據庫時,可以省略數據庫名稱 create table my_copy like my_gbk;
- 1
- 2
- 1
- 2

如上圖所示,表my_copy和表my_gbk的表結構完成相同。
蠕蟲復制的步驟為:先查出數據,然后將查出的數據新增一遍。
- 基本語法:
insert into + 表名 + [()] + select + 字段列表/* + from + 表名;
執行如上 SQL 語句,進行測試:
-- 蠕蟲復制 insert into my_copy select * from my_collate_bin;
- 1
- 2
- 1
- 2

如上圖所示,咱們已經成功將表my_collate_bin中的數據復制到表my_copy中啦!接下來,咱們再執行如下 SQL 語句,測試蠕蟲復制的效果:
-- 蠕蟲復制 insert into my_copy select * from my_copy;
- 1
- 2
- 1
- 2

如上圖所示,通過觀察每次執行 SQL 語句后影響的列數,分別為4、8和16等,咱們會發現蠕蟲復制的效果呈(指數)爆炸性增長。
蠕蟲復制的意義:
- 從已有的數據表中拷貝數據到新的數據表;
- 可以迅速的讓表中的數據膨脹到一定的數量級,多用於測試表的壓力及效率。
溫馨提示:符號[]括起來的內容,表示可選項;符號+,則表示連接的意思。
