SQL错误
zplume
这个作者很懒,什么都没留下…
展开
-
convert在SELECT中和WHERE条件中的不同
问题描述:在从视图中查询数据时,假如把convert放在WHERE语句中,SQL SERVER引擎仍然会去扫描CONVERT中的字段在视图所引用的表中所有行数,假如该字段存在不能被CONVERT的值,比如:123A,不能被CONVERT成DECIMAL类型,即便WHERE语句中的其他条件会过滤该错误数据,又或者视图并没有引用该错误数据,但由于SQL SERVER引擎会扫描所有行数,还是会遇到以下错原创 2014-02-10 21:08:15 · 3202 阅读 · 0 评论 -
运行procedure很慢但运行procedure内容很快的原因之一
问题描述:有一次在发布系统到production环境之后,突然发现报表过了好几分钟也刷新不出来,小哥我直接就慌神了。迅速进行各种测试,首先右键报表属性找出报表地址,看看参数是否传对了。找出报表参数之后直接运行procedure,也跑不出来。打开procedure一段一段执行却没问题,执行整个procedure的内容也没问题,但是exec procedure_nm却始终有问题。在开发环境exec原创 2014-02-14 12:45:26 · 1153 阅读 · 0 评论 -
运行procedure很慢但运行procedure很快的原因之二
问题描述:继上一次由于表统计信息导致标题所阐述问题之后,这次是另外一个同学更改表结构出现了同样问题。由于他并没有修改表数据,因此推测不能通过更新表统计信息解决该问题。 环境:SQL Server 2008 解决思路:有了上一次的经验,因此排除了procedure本身逻辑问题,开始考虑索引重建,表分区等方面。 解决方法:突然想到上次出现同样问题时另一个同学说的重新编译procedure,with r原创 2014-02-16 12:00:45 · 992 阅读 · 0 评论 -
sql server网页项目发布到生产环境和开发环境不一致的情况
问题描述:工作中总会时不时地遇到一些这样的情况,在开发或者QA上程序运行总是好好的,但到了生产环境,程序却跑不出来了。印象比较深刻的是之前遇到的两个以sql server为数据库的网页项目,一是访问网页错误,二是网页上的下拉列表没有结果。环境:SQL SERVER 2008, IIS, SSRS 2008, Visual Studio 2008, ASP.NET解决方法原创 2014-02-20 13:08:09 · 1646 阅读 · 0 评论 -
用EXCEPT对比两个表的数据用还是UNION
问题描述:今天是新系统上线之后第一次跑数据,需要和老系统跑出来的表做对比。完全一样则项目运行ok,新系统在时间上减少了人工干预,提高了80个百分点。先用老系统跑一次数据,导入到一个备份表。再用新系统跑一次,数量和备份表里面的一样。心里坦荡了一点。再比较里面每一行数据是否一样的时候,先是用了如下方式:SELECTCOUNT(0) FROM (SELECT * FROM tab原创 2014-03-04 13:50:45 · 1325 阅读 · 0 评论