我发现网站因为数据增加,速度变慢,特别是涉及统计数据的网页,要等相当长时间。现考虑用MySQL的触发、存储程序、函数来改善一下网页速度。
下面这几个连接很有用:
MySQL 5.1参考手册
第20章:存储程序和函数
第21章:触发程序
待续
打开“SQL”页面,输入下面语句: CREATE TRIGGER trigger1 AFTER INSERT ON table1 记得将下面Delimiter的空格里的“;”改为“//”。 功能就是,在往table1里插入新行后,将table2里插入新行,并将table2的t2_id设为table1的新行的t1_id值。 开始,我用下面这一行,一直插入数据是t2_id=1, 去掉sum=1才正常了。
FOR EACH ROW BEGIN
INSERT INTO table2 SET t2_id = NEW.t1_id;
END;
INSERT INTO table2 SET t2_id = NEW.t1_id and sum=1;
删除更新的触发(Trigger)例子:
CREATE TRIGGER `trigger2` AFTER DELETE ON `table1`
FOR EACH ROW BEGIN
DELETE FROM table2 WHERE t2_id = OLD.t1_id;
UPDATE table3 SET sum = sum+1 WHERE t3_id = NEW.t1_id;
END;
将一个数据库表的数据做了计算后,传到另一个数据库表的SQL语句:
INSERT INTO new_table
SELECT *
FROM (select '' as id, gid, count(gid) as sum from old_table group by gid) as aa