2012年12月29日

SQL中使用WITH AS提高性能

摘要: 1. 案例起因 公司门店应用程序每天都要出一份报表,用来统计所有商品当天的期初库存数量、入库数量、出库数量 及当天的期末库存数量。运行半年以后,这份报表运行越来越慢,到现在,每次运行该报表显示当天数据时需要近20秒的时间。于是开发人员找到我,希望我看看,是不是可以使该报表运行的时间更短。 该报表就是一段SQL语句,主要由三部分组成,第一部分是计算每个商品的期初数量,第二部分是计算每个商品的当天发生(包括入库和出库的)数量,第三部分是计算每个商品的期末数量,也就是当天的余额。每个部分使用UNION ALL连接起来。 我看到该报表,第一个感觉就是这段SQL里的每个部分都要对表进行扫描,明显... 阅读全文

posted @ 2012-12-29 21:12 szqizh 阅读(237) 评论(0) 推荐(0) 编辑

请教按周统计产量的sql语句写法

摘要: 例如:原始表字段是:产品ID,入库日期,入库数量参数是开始日期、结束日期,日期是年月日需要写成的报表如下:产品ID,第一周数量,第二周数量,……合计A 100 150…… ?B 30 40 …… ?…… …… …… ……create table #temp( GoodsID nvarchar(10), date datetime, amount int)drop table #tempinsert into #temp select 'A','2010-08-02',200insert into #temp... 阅读全文

posted @ 2012-12-29 17:57 szqizh 阅读(344) 评论(0) 推荐(0) 编辑

SQLServer的本月统计和本周统计

摘要: 本月统计(MySQL)select * from booking where month(booking_time) = month(curdate()) and year(booking_time) = year(curdate())本周统计(MySQL)select * from spf_booking where month(booking_time) = month(curdate()) and week(booking_time) = week(curdate())[SQLServer]表名为:tableName 时间字段名为:theDate 查询本月的记录 select * fro 阅读全文

posted @ 2012-12-29 17:54 szqizh 阅读(224) 评论(0) 推荐(0) 编辑

存储过程生成所有实体类

摘要: set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgocreate proc [dbo].[p_db_wsp]@dbname varchar(50), --数据库名@path varchar(100), --实体类所在目录名,如D:/My/Models@namespace varchar(50) --实体类命名空间,默认值为Modelsas--判断数据库是否存在if(db_id(@dbname)is not null)beginif(isnull(@namespace,'')='')set @namespace='Mode 阅读全文

posted @ 2012-12-29 17:51 szqizh 阅读(177) 评论(0) 推荐(0) 编辑

导航