CN DBMove 过程中一些最常见最需要注意的问题

下面列举了CN 产品在MOVE –IN过程中常见的问题, 供参考,并期望CN开发能够重视并注意这些问题:

1.       查询过程中,表未指定表提示WITH (NOLOCK)

例如:

 CN DBMove 过程中一些最常见最需要注意的问题

 2.       语法错误,这个应该是最严重的级别,在开发过程中,并未进行最基本的语法检查

例如:

 CN DBMove 过程中一些最常见最需要注意的问题

 3.       变量赋值未使用TOP 1

例如:

 CN DBMove 过程中一些最常见最需要注意的问题

 4.       LEFT JOIN使用不当,带有WHERE条件的LEFT JOIN实际上应该使用INNER JOIN

例如:上面那个语句,再如下面这个语句:

 CN DBMove 过程中一些最常见最需要注意的问题

 5.       多个表联合查询时,表未指定表所属别名

例如:

 CN DBMove 过程中一些最常见最需要注意的问题

 6.       使用不恰当的动态SQL语句

例如:下面个动态SQL就没有必要

 CN DBMove 过程中一些最常见最需要注意的问题

 7.       UNION 与 UNION ALL不加区分

例如:一般情况下,我们首先考虑使用UNION ALL,如果的确需要过滤相同记录,才使用UNION

 CN DBMove 过程中一些最常见最需要注意的问题

 8.       子查询和JOIN没有合理应用

例如,下面这个例子,有时候使用子查询,性能会得到极大的提升

 CN DBMove 过程中一些最常见最需要注意的问题

 9.       关于主键,使用INT类型并且指定IDENTITY属性的列作为主键是比较好的方式

例如,下面这个就不合理

 CN DBMove 过程中一些最常见最需要注意的问题

 10.   表变量没有主键,临时表也存在这样的问题

例如:像下面这个语句,表变量可能会产生上万记录数,如果表变量和其他表做JOIN,可能会有很大的性能问题,如果给个自增列的字段为主键,在JOIN时有机会走主键索引以提高性能

CN DBMove 过程中一些最常见最需要注意的问题

 11.   字符类型宽度不明确

例如:

 CN DBMove 过程中一些最常见最需要注意的问题

 12.   更新大量数据没有使用分批次处理

例如:

 CN DBMove 过程中一些最常见最需要注意的问题

 

  1. 13.   在WHERE条件中的列应用函数

例如:应该避免在列上使用函数,它会使索引失效

 CN DBMove 过程中一些最常见最需要注意的问题

 14.   没有必要的逐条处理

例如:

 CN DBMove 过程中一些最常见最需要注意的问题

 15.   错误的事务处理

例如:这个比较常见并且比较严重

 CN DBMove 过程中一些最常见最需要注意的问题

另一个例子:

 CN DBMove 过程中一些最常见最需要注意的问题

 

 16.   处理XML时,在获取文本节点没有指定text()函数,同时多数指定的相对路径

例如:

 CN DBMove 过程中一些最常见最需要注意的问题

 17.   其他比较常见是对SQL语句格式化、书写规范问题还比较常见,这里不用举例

18.   其他暂时保留,不太常见

 

 

转载于:https://www.cnblogs.com/luoting/archive/2013/03/01/2938141.html