MS SQL Server
文章平均质量分 58
Mr.小铭
从事互联网/软件/传统电商/跨境电商行业的产品、业务和技术工作..
展开
-
如何对SQLServer的海量数据进行优化
<br />我们都知道在涉及海量数据问题的时候,一般都需要用到数据仓储和数据优化技术。那么怎样对数据优化呢?本文将简单介绍一下如何对海量数据的优化。<br /> 1.索引的使用:索引可以提高检索数据的速度,但同时也会降低写入数据的速度。<br /> 在SQLServer中专门有一个索引表来存放我们建立的索引,一般情况下我们都将索引建立在数据类型是Int或是Char型的字段上。<br /> 2.数据锁的使用:行锁,页锁,表锁等。(默认是页锁)<br /> 切记 防止死原创 2010-07-18 10:56:00 · 321 阅读 · 0 评论 -
string[x]:size 属性具有无效大小值0
<br />SqlParameter[] lists={new SqlParameter("@test",SqlDbType.NVarChar);<br />lists[1].Value = "testValue";<br />lists[2].Direction = ParameterDirection.Output;<br />页面提示:string[x]:size 属性具有无效大小值0<br />解决方案: 输出参数需指定长度<br />如: new SqlParameter("@test",Sq原创 2010-08-13 15:14:00 · 1581 阅读 · 0 评论 -
SQL Server 2008 修改表所有者,架构
<br />ALTER SCHEMA 新架构 TRANSFER 旧架构.对象名称原创 2010-07-27 14:21:00 · 2110 阅读 · 1 评论 -
SQL Server表分区
<br />什么是分区?为什么要使用分区?简单的回答是:为了改善大型表以及具有各种访问模式的表的可伸缩性和可管理性。通常,创建表是为了存储某种实体(例如客户或销售)的信息,并且每个表只具有描述该实体的属性。一个表对应一个实体是最容易设计和理解的,因此不需要优化这种表的性能、可伸缩性和可管理性,尤其是在表变大的情况下。<br />大型表是由什么构成的呢?超大型数据库 (VLDB) 的大小以数百 GB 计算,甚至以 TB 计算,但这个术语不一定能够反映数据库中各个表的大小。大型数据库是指无法按照预期方式运行的数转载 2010-07-18 11:09:00 · 320 阅读 · 0 评论 -
EXEC结果到table里
<br />通常把查询结果添加到临时表,使用select &,&,& into #tmp from table ,然后在处理,可是当 exec 一个查询记录集时候就不行了,只能使用表变量了,麻烦就是要定义表变量里面的字段,之后使用innser into @table exec ……<br />问题也解决了。原创 2010-07-18 11:09:00 · 544 阅读 · 0 评论 -
ACCESS中SELECT TOP语句竟然返回多条记录的解决方案
<br />一直以为ACCESS的SQL语句与SQL Server差不多,当时也使用 Select top n在ACCESS测试过,都是成功的,但昨天突然发现ACCESS中有个问题:<br /> 如果在查询TOP语句的后面使用Order by,而且Order by字段中有重复值的话,那么这个TOP很可能会失效,<br />会返回所有记录<br />比如:<br /> Select top 5 from News order by CreateDate<br />如果CreateDate中有重复值,那么很有原创 2010-07-18 11:07:00 · 386 阅读 · 0 评论 -
SQL Server存储过程事务检索错误消息
<br />检索错误消息<br />在 CATCH 块的作用域内,可以使用以下系统函数来获取导致 CATCH 块执行的错误消息: <br />ERROR_NUMBER() 返回错误号。<br /><br />ERROR_SEVERITY() 返回严重性。<br /><br />ERROR_STATE() 返回错误状态号。<br /><br />ERROR_PROCEDURE() 返回出现错误的存储过程或触发器的名称。<br /><br />ERROR_LINE() 返回导致错误的例程中的行号。<br /><原创 2010-07-18 11:04:00 · 585 阅读 · 0 评论 -
海量数据查询优化方法(二)
<br />一、因情制宜,建立“适当”的索引 <br /><br />建立“适当”的索引是实现查询优化的首要前提。 <br /><br />索引(index)是除表之外另一重要的、用户定义的存储在物理介质上的数据结构。当根据索引码的值搜索数据时,索引提供了对数据的快速访问。事实上,没有索引,数据库也能根据SELECT语句成功地检索到结果,但随着表变得越来越大,使用“适当”的索引的效果就越来越明显。注意,在这句话中,我们用了“适当”这个词,这是因为,如果使用索引时不认真考虑其实现过程,索引既可以提高也会破坏数原创 2010-07-18 10:57:00 · 257 阅读 · 0 评论 -
SQL中DateAdd、DateDiff函数实现日期的加减
<br />----------------------------------------------------------------------------------------------------------------------<br />DateADD 语法:<br />DateAdd ( datepart , numb , date ) <br />Datepart:指定参于运算的日期部分<br />Numb:需要加减的数值,numb与date相加减结果为函数的值,如果numb为负则原创 2010-07-18 10:25:00 · 556 阅读 · 0 评论 -
SQL语句操作数据库
经典SQL语句集锦下列语句部分是MsSql语句,不可以在access中使用。SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)首先,简要介绍基础语句:1、说明:创建数据库CREATE DATABASE database-name 2、说明:删除数据库drop database dbname3、说明:备份sql转载 2010-07-19 18:50:00 · 1199 阅读 · 0 评论 -
SQLServer 2005中列所有存储过程方法
<br /> 对于数据库管理员来说,可以经常想了解一些之前未听说过的存储过程,特别是无文档类型的存储过程。或许是用这些存储过程,能够简化日常的数据管理。<br /> 为了查找这些存储过程,你可以花时间在互联网搜索,查看一些你还未知道的存储过程,也许在一两个小时您可能会发现你想要...也许你很幸运的找到,其他人在他们的文章中列出所有的存储过程 ,函数和视图,并介绍了如何使用这些存储过程。<br /> 但其实,您可以在一分钟之内就可以自己列出这些存储过程、函数和视图的清单!这份名单甚至包括SQL原创 2010-07-19 18:45:00 · 290 阅读 · 0 评论 -
SQLServer索引类型
<br /> 在SQLServer数据库中支持两种基本类型的索引,那就是是簇索引和非簇索引。在这两种基本类型的索引之上你可以增加得到一个唯一索引的功能,该索引迫使所有插入索引中的值都必须保持唯一。下面来看这些索引的详细介绍。如下:<br /><br />一、簇索引<br /><br />簇索引是一种特殊索引,它使数据按照索引的排序顺序存放表中。簇索引类似于字典,即所有词条在字典中都以字母顺序排列。簇索引实际上重组了表中的数据,所以你只能在表中建立一个簇索引。<br /><br />当数据按值的范围查原创 2010-07-19 18:55:00 · 3345 阅读 · 1 评论 -
系统存储过程
<br />一、一般存储过程<br />1、信息查看类<br />1.1、查看系统对象<br />过程名<br />系统表或视图<br />描述<br />sp_helpserver<br />sysservers<br />查看所有服务器信息<br />sp_helpdb<br />sysdatabases<br />查看所有数据库信息,如:名称、大小<br />sp_helplogins<br />syslogins<br />查看所有数据库用户登录信息<br />sp_helpuser<br />sy转载 2010-07-19 18:46:00 · 565 阅读 · 0 评论 -
删除数据库的所有存储过程、主键、外键、索引等
<br />--删除存储过程<br />DECLARE @STRING VARCHAR(8000)<br />WHILE EXISTS(SELECT NAME FROM SYSOBJECTS WHERE TYPE='P' AND STATUS>=0)<br />BEGIN<br />SELECT @STRING='DROP PROCEDURE '+NAME FROM SYSOBJECTS WHERE TYPE = 'P' AND STATUS>=0<br />--SELECT @STRING<br />EX原创 2010-07-18 11:05:00 · 323 阅读 · 0 评论 -
SQL中使用ROW_NUMBER()数据库分页
<br />示例代码:<br />DECLARE @endRow INT;<br />DECLARE @filed NVARCHAR(128);<br />DECLARE @sort NVARCHAR(10);<br />DECLARE @SQL NVARCHAR(300);<br /> -- Insert statements for procedure here<br />SET @pageIndex = 1;<br />SET @pageSize = 2;<br />SET @startRow原创 2010-07-18 11:05:00 · 323 阅读 · 0 评论 -
sql日期格式转换
<br />select CONVERT(varchar, getdate(), 120 )<br />2004-09-12 11:06:08<br />select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')<br />20040912110608<br />select COUNVRT(varchar(12) , getdate(), 23 )<br />2008-04-01<br /原创 2010-07-18 11:04:00 · 533 阅读 · 0 评论 -
SQL Server 2005 重装时报:对性能监视器计数器注册表值执行系统配置检查失败
<br />问题描述:<br /> SQL Server 2005 卸载之后重新安装,在执行检查时报:对性能监视器计数器注册表值执行系统配置检查失败。有关详细信息,请参阅自述文件或 SQL Server 联机丛书中的“如何在 SQL Server 2005 中为安装程序增加计数器注册表项值”。<br />解决方案:<br /> 在开始==>运行==>regedit.exe ,在注册表里找 <br /> HKEY_LOCAL_MACH原创 2010-07-18 11:04:00 · 253 阅读 · 0 评论 -
触发器和存储过程的优缺点
<br />(一)<br />缺点:<br />1、可移植性是存储过程和触发器最大的缺点。<br />2、占用服务器端太多的资源,对服务器造成很大的压力<br />3、不能做DDL。<br />4、触发器排错困难,而且数据容易造成不一致,后期维护不方便。<br /> <br /> <br /> <br />优点:<br />1、预编译,已优化,效率较高。避免了SQL语句在网络传输然后再解释的低效率。<br />2、存储过程可以重复使用,减少开发人员的工作量。<br />3、业务逻辑封装性好,修改方便。<br原创 2010-07-18 11:00:00 · 918 阅读 · 0 评论 -
使用SqlDependency监听MSSQL数据库表变化通知
SqlDependency提供了这样一种机制,当被监测的数据库中的数据发生变化时,SqlDependency会自动触发OnChange事件来通知应用程序,从而达到让系统自动更新数据(或缓存)的目的。首先要对数据库进行配置,配置命令如下:1.启用Service Broker并查看是否启用成功,is_broker_enabled为1则表明启用成功:ALTER DATABASE原创 2013-06-07 22:49:33 · 5213 阅读 · 1 评论