工作中点滴记录

永远保持学徒心态

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

02 2012 档案

摘要:Exists在sql server 中是重要的关键字,可以使得一些查询的效率更高。在项目中遇见到查询有报价的地区信息和查询没有报价的地区信息,当时我用了INNER JOIN来实现,发现当数据量达到千万级后效率很差,后改为Exists关键字实现,效率提高不少。查询有报价的地区信息:sql_11 SELECT mm.ID, mm.CnName FROM MD_AreaInfo mm INNER JOIN MD_Prices pp ON mm.ID = pp.AreaID GROUP BY mm.ID, mm.CnName用exists关键字实现:SQL_21 SELECT mm.ID,... 阅读全文
posted @ 2012-02-27 23:07 梦里故乡 阅读(814) 评论(0) 推荐(1) 编辑

摘要:这3个月一直在做公司的报价系统的新功能开发和一些性能改版,经常性的遇见查询某个地区某个交易品下的最近一天的价格。在这里面用到一个表MD_HistoryPrices是保存历史报价记录。第一种解决方式:用临时表:临时表1 WITH temp_2 AS(2 SELECT AreaID ,GoodsId,MIN(PriceDate) as PriceDate FROM MD_HistoryPrices GROUP BY AreaID,GoodsId3 )4 SELECT pp.* FROM MD_HistoryPrices pp , temp_2 tt WHERE pp.AreaID = tt.Are 阅读全文
posted @ 2012-02-26 22:54 梦里故乡 阅读(364) 评论(0) 推荐(0) 编辑

摘要:在项目中,我们经常会遇见把某个数据库中的某个表全部记录移动到另一个数据库中的某个表中,或则在某个数据库中两个表中进行数据数据的复制。ADO.NET提供一个类 SqlBulkCopy类,避免了往某个表或者另一个数据库某个表进行循环插入(在数据量很大、性能要求严格循环访问数据库不实用).创建一个数据库DataBaseBulkCopy,并在这个数据库创建2个表,分别为MD_Area和Md_AreaInfosql 脚本 1 CREATE DATABASE DataBaseBulkCopy 2 USE DataBaseBulkCopy 3 GO 4 CREATE TABLE MD_Area( 5 ID 阅读全文
posted @ 2012-02-26 14:16 梦里故乡 阅读(574) 评论(0) 推荐(0) 编辑

摘要:在附加数据库时候遇见 5120错误,建议把放置放置数据库的文件夹的权限更改为完全控制。 阅读全文
posted @ 2012-02-26 13:45 梦里故乡 阅读(10534) 评论(2) 推荐(2) 编辑

摘要:with在MSDN中的讲解,可以参考链接SQL 1 ------------------------------------ 2 ------创建表值变量类型-------------- 3 ------------------------------------ 4 CREATE TYPE Ty_NewAreaGoods AS TABLE( 5 AreaID INT NOT NULL, 6 GoodsID INT NOT NULL 7 ) 8 ------------------------------------- 9 ----创键返回今天报价的数据--------... 阅读全文
posted @ 2012-02-19 23:01 梦里故乡 阅读(807) 评论(0) 推荐(0) 编辑

摘要:经常遇见过这种情况,在存储过程中经常用with创建临时表,这个临时表这这个功能模块中多次运用,如果都用With创建相同功能的临时表,好性能和存储过程中有很多冗余代码,为此,我用表变量来实现此种功能(不是表值变量)定义表变量的语法:DECLARE 表变量名字 TABLE(列名 列类型 是否为空,列名 列类型 是否为空,列名 列类型 是否为空,列名 列类型 是否为空)下面是我这项目中运用的存储过程:PROC 1 USE [xb_quotation_dev2] 2 GO 3 4 /****** Object: StoredProcedure [dbo].[usp_UpdateTodayPrice.. 阅读全文
posted @ 2012-02-18 14:45 梦里故乡 阅读(5895) 评论(2) 推荐(1) 编辑

摘要:原始数据如下图:DateStatus2012-01-01win2012-01-01win2012-01-01win2012-01-01lose2012-01-01lose2012-01-02win2012-01-02win2012-01-02lose查询显示如下:Date win lose2012-01-01 3 22012-01-02 2 1View Code 1 WITH tbDate AS 2 ( 3 SELECT DATE FROM tbUsers GROUP BY Date 4 ), 5 tbWin AS 6 ( 7 SELE... 阅读全文
posted @ 2012-02-11 17:23 梦里故乡 阅读(663) 评论(0) 推荐(1) 编辑

摘要:近期一直写存储过程,考虑到应用程序扩展性和性能,用到大量的临时表,由于用create table #temp创建临时表性能很差,所以就采用with创建临时表,但是with创建临时有很多问题,比如创建成功后的临时表不能进行insert,用with创建临时表时候不能order by等等;现在举一个insert的情况;在我的项目中,设计到钢材的报价,有的地区有报价,有的地区有参考报价,现在需要获得有参考有报价地区的地区dt1,并且把该报价地区添加到查询的结果地图地图dt1中;现把该存储过程列举出来:View Code 1 USE [xb_quotation_dev] 2 GO 3 4 /****.. 阅读全文
posted @ 2012-02-09 23:38 梦里故乡 阅读(2283) 评论(0) 推荐(0) 编辑

摘要:因为 根据需求要对查询出的数据情况进行按照条件显示,所以利用case来实现这个要点:条件是如果名字为空且id为0,这个用户就是报价用户 如果是名字为空且id不为0,这个用户名字不存在 如果名字不为空,那么就显示此用户名View Code 1 USE [xb_quotation_dev] 2 GO 3 4 /****** Object: StoredProcedure [dbo].[usp_GetHistory_Original_Price] Script Date: 02/08/2012 11:07:35 ******/ 5 SET ANSI_NULLS ON 6 GO... 阅读全文
posted @ 2012-02-08 14:29 梦里故乡 阅读(434) 评论(0) 推荐(1) 编辑

摘要:最近几个月一直在做报价系统(三层架构,原先是6层架构,由于不好维护,工作量大,后改为三层),需要把报价用户的每一次对数据库的操作都要以日志的记录,方便供应商和维护人员查询操作记录,现举一个发布报价的例子(用存储过程书写)1,存储过程(可以看到此存储过程用到事物)如下:存储过程 1 USE [xb_quotation_dev] 2 GO 3 4 /****** Object: StoredProcedure [dbo].[usp_publishtodayQuotation] Script Date: 02/04/2012 13:46:03 ******/ 5 SET ANSI_NULL... 阅读全文
posted @ 2012-02-04 15:23 梦里故乡 阅读(466) 评论(0) 推荐(1) 编辑

摘要:表值变量在批量操作中的用法:以更新地区的排序值为例子:创建表值变量的方法:View Code 1 CREATE TYPE Ty_UpdateAreaInfoShowOrder as Table2 (3 [ID] int primary key not null,4 [ShowOrder] int null5 )在存储过程中做批量操作的例子:View Code CREATE PROC USP_UpdateAreaInfoShowOrder@dt Ty_UpdateAreaInfoShowOrder readonlyAS BEGIN DECLARE @ERRORSUM SMALLINT... 阅读全文
posted @ 2012-02-03 14:00 梦里故乡 阅读(1973) 评论(2) 推荐(2) 编辑

摘要:利用SqlBuikCopy实现不同数据库的同步1,地区同步View Code 1 protected void btnSynchArea_Click(object sender, EventArgs e) 2 { 3 string strSql = "select [ID] ,[AreaId],[QuotationType],[GoodsTypeId],[ParentId] from MD_Area;select [ID],[CnName],[EnName],[AreaCode] ,[Discription] ,[ParentId] ,[IsDel... 阅读全文
posted @ 2012-02-01 21:30 梦里故乡 阅读(806) 评论(1) 推荐(1) 编辑

点击右上角即可分享
微信分享提示