自定义搜索
上一篇:刘晓波获2010年诺贝尔和平奖
下一篇:暴强围脖儿收集,不断更新;
用MySQL的触发、存储程序、函数改善网页速度(附运行于phpMyAdmin的例子代码)
米娅 2010年10月6日 14:10:13

我发现网站因为数据增加,速度变慢,特别是涉及统计数据的网页,要等相当长时间。现考虑用MySQL的触发、存储程序、函数来改善一下网页速度。

下面这几个连接很有用:

MySQL 5.1参考手册
第20章:存储程序和函数
第21章:触发程序 

待续


在phpMyAdmin 3.2.4 使用的一个trigger例子
2楼 2010年10月7日 14:43:05 米娅

打开“SQL”页面,输入下面语句:

CREATE TRIGGER trigger1 AFTER INSERT ON table1
FOR EACH ROW BEGIN
INSERT INTO table2 SET t2_id = NEW.t1_id;
END;

记得将下面Delimiter的空格里的“;”改为“//”。

功能就是,在往table1里插入新行后,将table2里插入新行,并将table2的t2_id设为table1的新行的t1_id值。 

开始,我用下面这一行,一直插入数据是t2_id=1, 去掉sum=1才正常了。
INSERT INTO table2 SET t2_id = NEW.t1_id and sum=1;

3楼 2010年10月7日 16:55:30 米娅

删除更新的触发(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;

4楼 2010年10月7日 17:51:15 米娅

将一个数据库表的数据做了计算后,传到另一个数据库表的SQL语句:

INSERT INTO new_table 
SELECT *
FROM (select '' as id, gid, count(gid) as sum from old_table group by gid) as aa    

第1页 共1页
相关链接
1. Drupal 7.23: PDOException: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away:
2. MySQL插入新记录后获取插入数据的id值
3. 从Excel导入数据到MySQL出现中文乱码(已解决)
4. 将Excel数据保存到MySQL数据库及PHP读Excel数据(附代码)
5. 如何修改MySQL表和列的COMMENT
6. 如何备份、恢复MySQL数据库
7. MySQL的数据库备份问题
8. MySQL数据库的汉字乱码问题