MySql重要总结(10万条数据亲测)

mysql数据库:
1.默认开启日志,便于恢复数据,存放在mysql安装目录下
show variables like ‘log_bin’;
2.mysql默认创建的是InnoDb数据库—在安装目录下有一个my.ini文件里面有相关设置
3.MyIsam和InnoDb进行对比

create table ***()engine=myisam;
create table ***()engine=innodb;

查看表创建的时候的引擎
show table status where name = ‘表名’

创建存储过程:(向数据库表中添加10000条数据)
create procedure **()
begin
set @i=1;
while @i<10000
do
insert into ‘表名’(字段) values(concat(‘joker’,@i)) ##concat是数据库内置函数,用来连接的生成数据为joker1 joker2 …
set @i=@i+1;
end while;
end
call **();

他们两个引擎中的自动提交都是默认开启的,这对innodb数据库影响很大
查看自动提交是否默认开启 — show session variables like ‘autocommit’;

对于innodb如果开启的话,像表中添加数据时候回话费很长时间(10000大概是20秒左右)
如果设置他关闭set autocommit=0再去调用上面的存储过程会很快,执行完之后数据还不会保存到表中,
因为你还没有提交你需要set autocommit=1然后才会加入到数据库中时间花费也很短,不是一个数量级

删除表有两种(delete truncate)
delete删除表中数据,逐条删除,主键会从原来的位置开始
truncate删除表中数据,然后重新建表,主键从0开始,不记录log日志,比可以恢复数据

查看索引:show index from 表名

创建索引的优点:
对10万条数据进行操作
innodb数据库如果不加索引大概花费14-16秒,如果加入索引花费0.741秒

myisam数据库如果不加索引大概花费2-3秒,如果加入索引0.305秒

猜你喜欢

转载自blog.csdn.net/qq_42166308/article/details/103326386