MySQL插入数据存储原理

MySQL版本:mysql-5.5.15-win32

安装位置:C:\Program Files (x86)\MySQL\MySQL Server 5.5

 

在MySQL数据的test库下建表,语句如下:

create table test.test1124(
  ID int(20),
  name varchar(10),
  salary int(10),
  info varchar(4000),
  PRIMARY KEY (ID)
);

 

先插入10条测试数据:

insert into test.test1124 values(1,'冰梓夏',9761,'婵可丹菱妍欣倩圣昕珍飘乾芝源茗妤沂漩晋渊');
insert into test.test1124 values(2,'蕴峄琛',13377,'亦月洁眉亮佑元纨恒雄娜泓雄吉泉育佳乐晋洋');
insert into test.test1124 values(3,'爱珩珂',7949,'健育娜菱雨影思明瑗天倩芸文含婕先蕊思英漩');
insert into test.test1124 values(4,'奕奕杨',9931,'雁凯希娟鸿弘沂淇龄卿子健悦雄弘信勋倩博宜');
insert into test.test1124 values(5,'迎冰迎',13833,'亚芝昕博妤蓉尧海克可瑶莉莉雅纨夕聪浩淇弘');
insert into test.test1124 values(6,'芷馥芫',9965,'天嘉先彤浩含渊琪泉琰嫣宜夕蓉俊清萱昊乔莉');
insert into test.test1124 values(7,'琛芷桢',7607,'浩怡毅雁铭圣泓菱沅瑶怡茜宜瑶纨聪含怡宣君');
insert into test.test1124 values(8,'夕馥夏',10669,'子渊文琪亮瑗悦元琰乔蕊宸昭萱佳纨澜媛尧怡');
insert into test.test1124 values(9,'蕴夏杨',14138,'淇东芸一茜亦希凌蓉先倩月琬琪泓渊菁思云梦');
insert into test.test1124 values(10,'馥芷珂',6697,'冰萍烨博允育允昊瑗洋天含宜希希夕仪倩萍娟');

 

采取“递归”的返回批量复制数据:

insert into test.test1124 select id + 10, name,salary,info from test.test1124;
insert into test.test1124 select id + 20, name,salary,info from test.test1124;
insert into test.test1124 select id + 40, name,salary,info from test.test1124;
...
insert into test.test1124 select id + 5242880, name,salary,info from test.test1124;

 

MySQL的数据存储位置:

C:\ProgramData\MySQL\MySQL Server 5.5\data\ibdata1

但是,发现在插入数据的过程中,会产生一个很大的临时文件,位置为:C:\Windows\Temp\#sql4ec_25_a.MYD (这个文件非常大,测试的时候还把磁盘撑满了)

 (文件大到把磁盘撑满)

 

posted @ 2020-11-27 11:31  向日葵的跋涉  阅读(524)  评论(0)    收藏  举报