随笔分类 -  数据库

摘要:在庞大的业务系统背后,一定有数据库管理系统的支持。在现代以数据为中心的开发时代,SQL编程也显得尤为重要。下面总结下我最近SQL编程的一些经验:1.SELECT查询要列出所有要查询的字段2.注意UNION和UNION ALL的区别,在IN,OR,UNION ALL这三种方案中,UNION ALL的执行效率是最高的。3.视图定义要尽量简单,最好不要包含业务逻辑。比如:在业务系统中,单据会有多种状态,那么在系统与系统交互的过程中,可能两边的状态码定义的不同,那么就需要映射。在这种场景下,强烈建议这种映射不要放在视图定义或SQL查询中,因为这会降低查询的性能。4.表变量与临时表的选择。表变量会将数据 阅读全文
posted @ 2011-02-25 11:14 董雨 阅读(149) 评论(0) 推荐(0)
摘要:最近在研究sql server 2005 的大数据量处理的优化方案,看到这篇文章觉得很实用,但是后面有人评论说:1千万条都会出问题,说明这个程序做得太差了!我这边有一个表是156468068条数据,表空间7,080.969 MB,索引空间61.656 MB,按照年来进行表分区,查询速度在2秒内解决,使用sql2008 。表分区也是个解决方案。对普通开发人员来说经常能接触到上千万条数据优化的机会也不是很多,这里还是要感谢公司提供了这样的一个环境,而且公司让我来做优化工作。当数据库中的记录不超过10万条时,很难分辨出开发人员的水平有多高,当数据库中的记录条数超过1000万条后,还是蛮能考验开发人员 阅读全文
posted @ 2011-02-25 11:10 董雨 阅读(386) 评论(0) 推荐(0)
摘要:lyfaraway笔记之 -------SQL2005对XML的处理1、记录到XML变量declare @cxml xmlset @cxml=(select * from zd_storeP for XML RAW('store'),ROOT('stores'))select @cxml2、XML到记录集方法一:用OPENXML 90000条记录速度测试,22s,16s,16sdeclare @cxml xml,@nxml intset @cxml=(select * from zd_storeP for XML RAW('store'),ROO 阅读全文
posted @ 2011-02-25 11:09 董雨 阅读(185) 评论(0) 推荐(0)
摘要:update siteuser set username='admin',password='05B530AD0FB56286FE051D5F8BE5B8453F1CD93F' where Uid=1update CompanyInfo set username = ltrim(rtrim(username))SELECT TOP 40 [Uid],[ qq ] ,[sfdr] FROM [1125User].[dbo].[info] where [Uid] Not in (SELECT TOP 60 [Uid] FROM [1125User].[dbo].[i 阅读全文
posted @ 2011-02-25 11:08 董雨 阅读(324) 评论(0) 推荐(0)
摘要:保证在实现功能的基础上,尽量减少对数据库的访问次数;通过搜索参数,尽量减少对表的访问行数,最小化结果集,从而减轻网络负担;能够分开的操作尽量分开处理,提高每次的响应速度;在数据窗口使用SQL时,尽量把使用的索引放在选择的首列;算法的结构尽量简单;在查询时,不要过多地使用通配符如 SELECT * FROMT1语句,要用到几列就选择几列如:SELECT COL1,COL2 FROM T1;在可能的情况下尽量限制尽量结果集行数如:SELECTTOP 300 COL1,COL2,COL3 FROM T1,因为某些情况下用户是不需要那么多的数据的。在没有建索引的情况下,数据库查找某一条数据,就必须进行 阅读全文
posted @ 2011-02-25 10:36 董雨 阅读(177) 评论(0) 推荐(0)
摘要:这种方式感觉实现起来也不错,我是使用这种方式来完成数据库备份还原的功能的。 需要指出下面这些存储过程是在网上搜索到的。谢谢代码的提供者。在此转载 利用T-SQL语句,实现数据库的备份与还原的功能 体现了SQL Server中的四个知识点: 1. 获取SQL Server服务器上的默认目录 2. 备份SQL语句的使用 3. 恢复SQL语句的使用,同时考虑了强制恢复时关闭其他用户进程的处理 4. 作业创建SQL语句的使用 /*1.--得到数据库的文件目录 @dbname 指定要取得目录的数据库名 如果指定的数据不存在,返回安装SQL时设置的默认数据目录 如果指定NULL,则返回默认的SQL备份目录 阅读全文
posted @ 2011-02-25 10:35 董雨 阅读(209) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/anderslly/archive/2007/09/29/ibatisinactionch03.html译注:本章讲解的是iBATIS的安装和配置,原书使用的是Java版本,与.NET版本的安装、配置过程不尽相同,因此这里直接就.NET版本进行说明。主要参考的是iBATIS官方的DataMapper Guide文档,本章的配置主要针对DataMapper,DataAccess的配置将出现在第10章。 iBATIS的安装过程快速而简单。它是一个类库,而不是应用程序,所以实际上并不需要安装,但要在应用程序中使用它还是要经过几个步骤。 如果您熟悉C#和A 阅读全文
posted @ 2011-02-13 21:56 董雨 阅读(318) 评论(0) 推荐(0)
摘要:SQL Server 2008简体中文企业版下载(SQL2008)作者: 发布时间:2009-11-25 11:50:18文章来源:SQL Server 2008分为SQL Server2008企业版、标准版、工作组版、Web版、开发者版、Express版、Compact 3.5版,其功能和作用也各不相同,其中SQLServer 2008 Express版是免费版本(SQLServer2008各版本介绍)。SQL Server2008企业版是一个全面的数据管理和业务智能平台,为关键业务应用提供了企业级的可扩展性、数据仓库、安全、高级分析和报表支持。这一版本将为你提供更加坚固的服务器和执行大规模 阅读全文
posted @ 2011-02-12 09:15 董雨 阅读(3687) 评论(0) 推荐(0)
摘要:SQL Server 2000使得以XML导出数据变得更加简单,但在SQL Server 2000中导入XML数据并对其进行处理则有些麻烦。如果你参考Books Online(BOL),你会发现有相关的条目,包括OPENXML以及OPENROWSET。所有的这些例子都支持将XML文本作为已经声明的变量,这对于经常处理文本的用户来说非常方便,但对于希望在开发中读取XML文件并进行相应处理的开发人员来说就不是这样了。处理这样的问题,或许最好从内到外来对其进行分析。OPENXML是一个rowset函数(即返回一个rowset),它的工作方式类似于rowset函数OPENQUERY和OPENROWSE 阅读全文
posted @ 2011-02-11 08:39 董雨 阅读(270) 评论(0) 推荐(0)
摘要:写SQL的比写.NET程序的体验上差一等,没有智能提示,需要记住关键字,函数或者不断地Copy表字段名,自定义函数,存储过程之类的。不过在VS2010中,我们可以使用智能提示了,如下面几幅图所示:在编辑器中, 输入 Shift + J (提示: VS2010 开发工具中标的是 Ctrl +J 其实应该是 Shift + J )就可以自动打开这个智能提示。这个功能在 SQL 2008 中的 SQL Server Management Studio 也有了, 不过 SQL 2005 是没有的。 VS2010 中也是有的。 我们下面来介绍如何在 VS2010 中也有这个智能提示。这个功能是如何出来的 阅读全文
posted @ 2011-02-11 08:37 董雨 阅读(695) 评论(0) 推荐(0)
摘要:对于大数据量的导入,是DBA们经常会碰到的问题,在这里我们讨论的是SQL Server环境下百万级数据量的导入,希望对大家有所帮助。51CTO编辑向您推荐《SQL Server入门到精通》专题。实际工作中有时候需要把大量数据导入数据库,然后用于各种程序计算,本实验将使用5中方法完成这个过程,并详细记录各种方法所耗费的时间。本实验中所用到工具为Visual Studio 2008和SQL Server 2000、SQL Server 2008,分别使用5中方法将100万条数据导入SQL Server 2000与SQL Server 2008中,实验环境是DELL 2850双2.0GCPU,2G内 阅读全文
posted @ 2011-02-11 08:35 董雨 阅读(4184) 评论(1) 推荐(2)
摘要:最近在做一个服务器的项目demo版本,流程如下:tcpServer-wcf server-silverlight Client/ winfom Client数据库采用sqlite,持久化层采用ibatis,其中tcp采用异步发送的方式,刚开始运行还可以,但是运行一段时间后就出现the database file is locked的错误,不知道具体原因,网上也找的一些资料,如下:http://liuleijsjx.javaeye.com/blog/425061在本系统运行中,偶尔会出现奇怪的错误提示,根据后台日志提示,在系统并发比较大的时候,容易出现The database file is 阅读全文
posted @ 2010-12-17 10:58 董雨 阅读(4417) 评论(0) 推荐(0)
摘要:iBATIS ( Apache基金會 ) Hibernate ( JBOSS )相对NHibernate“O/R”而言,IbatisNet是一种“Sql Mapping”的ORM实现。NHibernate对数据库结构提供了较为完整的封装,NHibernate的O/R Mapping实现了PO 和数据库表之间的映射,以及SQL 的自动生成和执行。程序员往往只需定义好了PO 到数据库表的映射关系,即可通过NHibernate提供的方法完成持久层操作。程序员甚至不需要对SQL 的熟练掌握, NHibernate 会根据制定的存储逻辑,自动生成对应的SQL 并调用ADO.NET接口加以执行。 而Iba 阅读全文
posted @ 2010-12-14 23:07 董雨 阅读(284) 评论(0) 推荐(0)
摘要:代码 阅读全文
posted @ 2010-12-02 13:16 董雨 阅读(738) 评论(0) 推荐(0)
摘要:在项目开发过程中,查询占了很大的一个比重,一个框架的好坏也很多程度上取决于查询的灵活性和效率。在IBatis.Net中提供了方便的数据库查询方式。在Dao代码部分主要有两种方式:1、查询结果为一个对象:2、查询结果为一个列表:这两种方法同时都提供了面向泛型的重载方法。这两个方法的第一个参数对应配置文件中的select id,第二个参数表示传入查询的条件配置文件的写法:在IBatis.Net中提供了... 阅读全文
posted @ 2010-10-31 23:20 董雨 阅读(204) 评论(0) 推荐(0)
摘要:SQLite作为windows mobile的数据库,是一种不错的选择。SQLite的下载地址为:SQLite,SQLite的ADO.net Provider下载地址为:System.Data.SQLite ,在发布程序时,请别忘记拷贝SQLite.Interop.065.DLL、system.data.sqlite.dll两个文件到安装目录下。 本文非原创,而是参考egmkang撰写的WM下访问... 阅读全文
posted @ 2010-10-08 14:06 董雨 阅读(692) 评论(0) 推荐(0)
摘要://这是在网上找的中文解释的SqlHelperusing System;using System.Configuration;using System.Data;using System.Data.SqlClient;using System.Collections;namespace com.DataAccess{ /// <summary> /// SqlHelper类提供很高的数... 阅读全文
posted @ 2010-09-13 16:09 董雨 阅读(286) 评论(0) 推荐(0)