作者:hnynes
MSN:hnynes@gmail.com
数据库使用心得
近期使用数据库比较频繁,有些小技巧与大家分享一下.
目前我正在做的是高并发的写数据库的操作.其中对于insert与update的操作做得比较多.因此呢这里面就有一个效率的问题了.
如果每次都去select,然后再去检测一下,是否存在这么一条记录,这样的话,总感觉有点慢的.
后来无意中借鉴了一下,前不久写的一篇关于直接脚本建表的文章.就是检测一下是否存在某张表,如果不存在的话,就创建一张表.
我们在insert与update也是一样的,可以在insert的时候也exists一下.然后发现没有的话,就会自动插入这条记录.
例如:
INSERT INTO tTable(ID,NAME) SELECT 1,'HELLO' FROM DUAL WHERE NOT EXISTS (SELECT * FROM tTable WHERE ID = 1);
上面的这个是指insert占多数的情况,还有一种情况是update占多数的情况.如下:
UPDATE tTable SET ID = 10 WHERE ID = 1
执行上面的update后,再检测一下操作影响的记录行数,如果影响数是0,这时就可以再补一条insert.这样在某种程度上是会提高对数据库的操作效率的.
以上是以mysql为例子的.如果有朋友是用MSSQL的可以先试一下,如果不行的话,我们可以一起探讨一下应该如何改一下.
阅读(2832) | 评论(0) | 转发(1) |