日期:2014-05-17  浏览次数:21260 次

sql server 2005 多人同时对一张表insert的问题
问题描述:

    本人使用的是SQL 2005,建立了一个Display数据库,这数据库有2个用户,其中一个用户是拥有所有权限,还有个用户是只对其中2张表有权限(一张仅select,一张仅作insert),现在的担心的是,后一个用户对仅insert的那张表格的操作。多人同时这张表的insert,会不会影响多数据的插入,会不会丢失数据?这种表的主键是自增型ID。

------解决方案--------------------
insert操作不引起数据丢失啊。顶多是阻塞。除非你的insert语句又要检查是否存在,又要排序等等还要计算之类的操作,否则单纯的insert没问题
------解决方案--------------------
一般不会有问题的,一般的数据库都支持事务,所以就算是并发多用户,同时插入数据,也不会有问题,不会出现丢数的问题的。

最多会有热点块的问题,因为大量用户都要插入,而你的主键是自增的,那么就会导致一堆用户,都向某一个数据页中插入记录,这个时候就会出现热点块的问题。

这个问题,如果数据量大的情况下,可以考虑建立分区表,来解决