1)库表中有一个ID列,该列作为关键码,有的人是这样做的
      从库中读出该列的最大值,加1,以该值为关键码向数据库中插入记录!!如果该数据库是给一个论坛设计的,出现数据异常的可能性有多大,即使是单用户的数据库也不能这样设计的。
----在Access中有自增列,sql server中可以用 identity(1,1)轻松搞定
2)多表操作:比如入库记录,可能有一个主表存入库的时间等其他基本信息,还有一个子表存入库商品明细。这种情况下很多人采用的是程序中控制.如果恰好在删除一个表中的数据时出错,另外一个表中的数据就成了脏数据
----这种情况最好采用触发器或存储过程,适当时候采用事务
3)尽量采用存储过程和触发器,减少程序中的数据处理,一方面是因为存储过程是预先编译过的,执行速度快,另一方面数据异常的处理比较方便,同时又减少了在数据库服务器和网站服务器之间的数据传递
4)应该利用索引功能加快数据查询的操作,对查询操作经常涉及的列、表应该建立索引,这样比没有建立索引的情况下,速度要快很多,对sql server还可以在需要的时候建立全文索引。