mysql优化--触发器和auto_increment
1.触发器:
触发器的好处:做数据回收站或者做数据关联删除
触发器的坏处:给数据库增加压力,增删改变慢,不利与mysql移到其他数据库会出问题。
触发器建立:只能增删改,查不能建立。
例子1:创建一个名字为cfq的触发器,当向t1表插入数据时也向t2表插入。
1
2
3
4
5
6
7
|
mysql> \d // //修改delimiter为// mysql> create trigger cfq before insert on t1 for each row 创建cfq触发器 在向t1表插入数据之前 >begin >insert into t2(id) values( new .id); > end // mysql>\d ; //恢复mysql结束符为; |
例子2:创建一个名字为chq2的触发
器,当删除t1数据时,用t2回收。
mysql> \d //
mysql> create trigger cfq2 before delete on t1 for each row
mysql>begin
mysql>insert into t2(id,name) values(old.id,old.name);
mysql> end//
mysql>\d ;
mysql> show triggers; //查看触发器
2.auto_increment,表自增id恢复为1
a.清空表的时候不用delete from tablename; 用 truncate table tablename;
b.或者清空后用alter table tablename auto_increment = 1;