
数据库
文章平均质量分 63
LeeLin
这个作者很懒,什么都没留下…
展开
-
全局临时表控制重复登录
create procedure gp_findtemptable -- 2001/10/26 21:36 zhuzhichao in nanjing/* 寻找以操作员工号命名的全局临时表 * 如无则将out参数置为0并创建该表,如有则将out参数置为1 * 在connection断开连接后,全局临时表会被SQL Server自动回收* 如发生断电之类的意外,全局临时表虽然还存在转载 2007-04-13 16:37:00 · 817 阅读 · 0 评论 -
三种SQL分页法效率分析
表中主键必须为标识列,[ID] int IDENTITY (1,1) 1.分页方案一:(利用Not In和SELECT TOP分页) 语句形式:SELECTTOP10*FROMTestTableWHERE(IDNOTIN (SELECTTOP20id FROMTestTable ORDERBYid))ORDERBYIDSELECTTOP页大小*FROMTestT转载 2008-06-03 22:34:00 · 14296 阅读 · 7 评论 -
海量数据库的查询优化及分页算法方案
很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解。比如: select * from table1 where name=zhangsan and tID > 10000 和执行: select * from table1 where tID > 10000 and name=zhangsan 一些人不知道转载 2008-06-03 22:22:00 · 2524 阅读 · 0 评论 -
在SQL语句中获取一个DateTime型数据的日期部分
select convert(char(10),getdate(),107)select CAST(FLOOR( CAST( getdate() AS FLOAT )) AS DATETIME)原创 2008-12-02 11:10:00 · 1468 阅读 · 2 评论 -
SqlServer中用SQL语句附加数据库及修改数据库逻辑文件名
--查询数据库逻辑文件名USE 数据库名SELECT FILE_NAME(1) --查询数据库逻辑文件名(日志)USE 数据库名SELECT FILE_NAME(2) --附加数据库sp_attach_db 数据库名,数据库全路径,数据库日志全路径GOUSE 数据库名--添加一个登录前指定默认数据库EXEC sp_addlogin 登录名,密码原创 2009-09-10 14:35:00 · 2736 阅读 · 0 评论 -
SQL Server 数据库管理常用的SQL和T-SQL语句
1. 查看数据库的版本 select @@version 2. 查看数据库所在机器操作系统参数 exec master..xp_msver 3. 查看数据库启动的参数 sp_configure 4. 查看数据库启动时间 select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1 查看数据库服务器转载 2010-02-20 16:17:00 · 687 阅读 · 0 评论 -
SQL查询效率-100w数据查询只要1秒
机器情况p4: 2.4内存: 1 Gos: windows 2003数据库: ms sql server 2000目的: 查询性能测试,比较两种查询的性能SQL查询效率 step by step-- setp 1.-- 建表create table t_userinfo(userid int identity(1,1) primary key nonclustered,nick varchar转载 2010-02-20 16:21:00 · 1035 阅读 · 2 评论 -
影响SQL server性能的关键三个方面
1 逻辑数据库和表的设计 数据库的逻辑设计、包括表与表之间的关系是优化关系型数据库性能的核心。一个好的逻辑数据库设计可以为 优化数据库和应用程序打下良好的基础。 标准化的数据库逻辑设计包括用多的、有相互关系的窄表来代替很多列的长数据表。下面是一些使用标准化 表的一些好处。 A:由于表窄,因此可以使排序和建立索引更为迅速 B:由于多表,所以多镞的索引成为可能 C:更窄更紧凑的索引 D:每个表中可以有转载 2010-05-12 11:39:00 · 601 阅读 · 1 评论 -
Oracle SQL优化技巧
我觉得主要应该从5个方面进行调整: 1.去掉不必要的大型表的全表扫描 2.缓存小型表的全表扫描 3.检验优化索引的使用 4.检验优化的连接技术 5.尽可能减少执行计划的Cost 现在简单的举几个例子 Where子句中有“!=”将不使用索引 select account_name from test where amount != 0 (不使用) select account_name f转载 2010-05-12 11:41:00 · 708 阅读 · 2 评论 -
SQL的优化
大家都在讨论关于数据库优化方面的东东,刚好参与开发了一个数据仓库方面的项目,以下的一点东西算是数据库优化方面的学习+实战的一些心得体会了,拿出来大家共享。欢迎批评指正阿! SQL语句: 是对数据库(数据)进行操作的惟一途径; 消耗了70%~90%的数据库资源;独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低; 可以有不同的写法;易学,难精通。转载 2010-05-12 11:32:00 · 566 阅读 · 0 评论 -
SQL SERVER性能优化综述
<br />近期因工作需要,希望比较全面的总结下SQL SERVER数据库性能优化相关的注意事项,在网上搜索了一下,发现很多文章,有的都列出了上百条,但是仔细看发现,有很多似是而非或者过时(可能对SQL SERVER6.5以前的版本或者ORACLE是适用的)的信息,只好自己根据以前的经验和测试结果进行总结了。<br /><br />我始终认为,一个系统的性能的提高,不单单是试运行或者维护阶段的性能调优的任务,也不单单是开发阶段的事情,而是在整个软件生命周期都需要注意,进行有效工作才能达到的。所以我希望按照软转载 2010-07-07 01:26:00 · 998 阅读 · 2 评论 -
海量查询的数据优化
一、因情制宜,建立“适当”的索引 建立“适当”的索引是实现查询优化的首要前提。 索引(index)是除表之外另一重要的、用户定义的存储在物理介质上的数据结构。当根据索引码的值搜索数据时,索引提供了对数据的快速访问。事实上,没有索引,数据库也能根据SELECT语句成功地检索到结果,但随着表变得越来越大,使用“适当”的索引的效果就越来越明显。注意,在这句话中,我们用了“适当”这个词,这是因为,如果使用转载 2010-05-12 11:49:00 · 1035 阅读 · 3 评论 -
ORACLE自增长字段实现
首先,你要有一张表! CREATE TABLE example( ID Number(4) NOT NULL PRIMARY KEY, NAME VARCHAR(25), PHONE VARCHAR(10), ADDRESS VARCHAR(50)转载 2010-05-12 16:25:00 · 823 阅读 · 1 评论 -
数据库查询优化原则
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: s转载 2010-05-12 11:48:00 · 898 阅读 · 4 评论 -
通过一个函数或sql语句,随机生成任意6个字母组成的字符
<br />1.<br />declare @sql nvarchar(400) <br />select @sql= 'select char( '+cONVERT(NVARCHAR,CONVERT(INT,26*rand())+97)+ ')+ <br />CHAR( '+CONVERT(NVARCHAR,CONVERT(INT,rand()*26)+97)+ ')+ <br />CHAR( '+CONVERT(NVARCHAR,CONVERT(INT,rand()*26)+97)+转载 2010-07-12 23:10:00 · 1345 阅读 · 2 评论 -
SQL Server Query Execution Plan Analysis
<br />当需要分析某个查询的效能时,最好的方式之一查看这个查询的执行计划。执行计划描述SQLServer查询优化器如何实际运行(或者将会如何运行)一个特定的查询。<br />查看查询的执行计划有几种不同的方式。它们包括:<br />SQL Server查询分析器里有一个叫做”显示实际执行计划”的选项(位于”查询”下拉菜单中)。如果打开了这个选项,那么无论何时在查询分析器中运行一个查询,都会得到一个显示在单独窗口的查询执行计划(以图形的格式)。<br />如果只是想看下执行计划而不想运行查询,那么可以选择转载 2010-07-15 19:21:00 · 2660 阅读 · 2 评论 -
[sql server] 行转列问题总结1 - 行转列
<br />行转列问题总结 - 1、行转列 (后面不断整理论坛中出现的各类问题)<br />---1、最简单的行转列<br />/* <br />问题:假设有张学生成绩表(tb)如下:<br />姓名 课程 分数<br />张三 语文 74<br />张三 数学 83<br />张三 物理 93<br />李四 语文 74<br />李四 数学 84<br />李四 物理 94<br /><br />想变成(得到如下结果): <br />姓名 语文 数学 物理 <br />李四 74 84 9转载 2011-04-08 17:22:00 · 1338 阅读 · 0 评论 -
数据查询优化的方法
1. 用IN来替换OR 下面的查询可以被更有效率的语句替换: 低效: SELECT field1, field1 FROM LOCATION WHERE LOC_ID = 10 OR LOC_ID = 20 OR LOC_ID = 30 高效 SELECT field1, field1 FROM LOCATION WHERE LOC_IN IN (10,20,30)转载 2008-06-03 22:30:00 · 1573 阅读 · 0 评论 -
海量数据查询优化
今天下午去微软面试,被问到了海量数据查询优化的问题,由于平时开发的应用数据量比较小,不太关注性能优化的问题,所以不知如何作答,很是郁闷。从网上搜索出海量数据查询优化的两篇文章,转载下来,权当学习性能优化的开始。数据库优化查询计划的方法数据库系统是管理信息系统的核心,基于数据库的联机事务处理(OLTP)以及联机分析处理(OLAP)是银行、企业、政府等部门最为重要的计算机应用之原创 2008-06-03 21:58:00 · 12449 阅读 · 4 评论 -
SQL Server 2000+ADO.NET实现并发控制
2.2 SQL Server 2000+ADO.NET实现并发控制2.2.1 并发一致性问题常见并发并发一致性问题包括:丢失的修改、不可重复读、读脏数据、幻影读(幻影读在一些资料中往往与不可重复读归为一类)。2.2.1.1 丢失修改下面我们先来看一个例子,说明并发操作带来的数据的不一致性问题。 考虑飞机订票系统中的一个活动序列: 甲售票点(甲事务)读出某航班的机票余额A转载 2007-04-16 16:05:00 · 1044 阅读 · 0 评论 -
Data Access Application Block 概述
摘要:Data Access Application Block 是一个 .NET 组件,包含优化的数据访问代码,可以帮助用户调用存储过程以及向 SQL Server 数据库发出 SQL 文本命令。它返回 SqlDataReader、DataSet 和 XmlReader 对象。您可以在自己的 .NET 应用程序中将其作为构造块来使用,以减少需要创建、测试和维护的自定义代码的数量。您可以下载完整的转载 2007-04-16 16:07:00 · 899 阅读 · 0 评论 -
SQL分页的存储过程详解
ASP.Net中的DataGrid有内置分页功能, 但是它的默认的分页方式效率是很低的,特别是在数据量很大的时候,用它内置的分页功能几乎是不可能的事,因为它会把所有的数据从数据库读出来再进行分页, 这种只选取了一小部分而丢掉大部分的方法是不可去取的. 在最进的一个项目中因为一个管理页面要管理的数据量非常大,所以必须分页显示,并且不能用DataGrid的内置分页功能,于是自己转载 2007-04-13 09:21:00 · 726 阅读 · 0 评论 -
实现业务系统中的用户权限管理--设计篇
B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个“非法用户”很可能就能通过浏览器轻易访问到B/S系统中的所有功能。因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权转载 2007-04-13 09:30:00 · 813 阅读 · 0 评论 -
存储过程中使用隔离级别
SET TRANSACTION ISOLATION LEVEL 控制由连接发出的所有 Microsoft® SQL Server™ SELECT 语句的默认事务锁定行为。 语法 SET TRANSACTION ISOLATION LEVEL { READ COMMITTE转载 2007-04-13 16:55:00 · 1959 阅读 · 0 评论 -
实现业务系统中的用户权限管理--实现篇
在设计篇中,我们已经为大家阐述了有关权限管理系统的数据库设计,在本篇中,我们将重点放在其实现代码部分。为了让你能够更直接更有效的看到全部动作的代码,我们使用“动作分解列表”的方式来陈述每个动作以及相关资源。实现权限管理功能的动作 动作分解 动作名 相关表名转载 2007-04-13 09:32:00 · 876 阅读 · 1 评论 -
触发器
触发器1. 触发器的概念 触发器是一种特殊类型的存储过程。当表中数据被修改时,SQL Server将自动执行触发器。使用触发器可以实施较为复杂的数据完整性约束。 在SQL Server中,数据库的表之间可以声明参照完整性约束,即主键(PRIMARYKEY)和外键(FOREIGNKEY)约束。在同一数据库中的简单参照完整性通常由主键和外键约束来实现。但是,由于声明参转载 2007-04-13 09:42:00 · 1511 阅读 · 0 评论 -
流水号解决方案
建一个表 sys_max_id 有以下列: table_name string(255) , column_name string(255), max_id numeric(10) 该表用于保存某个表的某个列的最大流水ID号 例: table_name column_name max_id --------------------------------------转载 2007-04-13 16:34:00 · 897 阅读 · 0 评论 -
避免重复登录
我的方法是不用cookies,直接用数据库,建一个表(userid,lastdate)设置一个时间间隔(建一个frame里面有个每隔X分钟向数据库更新当前时间)用户登录时判断是否有当前用户记录,1:有,则判断getdate()是否大于lastdate为X分钟,2.没有则为没在线.这样则可以表明当前用户是否在线.用这个思路.看看如何.转载 2007-04-13 16:53:00 · 1117 阅读 · 0 评论 -
关于DBNull类型的说明
该类用于指示不存在某个已知值(通常在数据库应用程序中)。 在数据库应用程序中,空对象是字段的有效值。该类区分空值(空对象)和未初始化值(DBNull.Value 实例)。例如,表可以包含具有未初始化字段的记录。默认情况下,这些未初始化字段具有 DBNull 值。 该类还可以用于在 COM Interop 中区分 VT_NULL 变量(与空对象关联)和 VT_EMPTY 变量(与 DBNull.转载 2007-04-18 11:34:00 · 2245 阅读 · 0 评论 -
asp.net2.0学习历程 菜鸟到中级程序员的飞跃 --30本好书点评
学历历程如果你是一个菜鸟或者自认为初学者那么本文非常适合你;不能说这30本书就是最佳组合,但是可以说这个组合不差;本人曾博览群书,很多书重复,很多书讲的不适用,这些书都是目前书店可以买到的;达到中级程序员以后怎么成为高级程序员就靠你自己了,而此时你已经有辨明是非的能力,这也就是本文的目的!30本好书点评:分4大方向(html--Web的基础;javascript--让网页动起来;C#--程转载 2007-08-16 09:06:00 · 1938 阅读 · 0 评论 -
数据访问策略和ORM
背景: 我开发MIS应用程序.使用DOT.NET.喜欢对象编程.性能很重要.由于以上要求,我考察了很多程序访问数据的方法.一种是ORM,一种是直接使用ADO.NET.当然数据访问的问题要从数据表一直研究到用户的界面才算完成任务.首先,因为使用对象,所以ORM吸引了我.研究了很多ORM.NET,.ibatis.net的DataMap很好用.用它调用存储过程很好.还有速马的XORMS,是最简单好用的.转载 2007-06-05 17:09:00 · 1360 阅读 · 1 评论 -
数据库设计经验谈
一个成功的管理系统,是由:[50% 的业务 + 50% 的软件] 所组成,而 50% 的成功软件又有 [25% 的数据库 + 25% 的程序] 所组成,数据库设计的好坏是一个关键。如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分。有关数据库设计的材料汗牛充栋,大学学位课程里也有专门的讲述。不过,就如我们反复强调的那样,再好的老师也比不过经验的教诲。所以我归纳历年来所走转载 2007-06-05 17:10:00 · 1372 阅读 · 1 评论 -
SQL中CONVERT转化函数的用法
SQL中CONVERT转化函数的用法▲转载 2007-11-30 14:11:00 · 1115 阅读 · 0 评论 -
数据库查询优化
北工大计算机学院软件工程研究所 程颖目前,几乎所有的应用程序都要和数据库打交道。通过查询数据库可很容易地获得想要的数据。但是,令人不满意的是:某些查询时间长,响应速度慢。究其原因,一是硬件设备(如CPU、磁盘)的存取速度跟不上,内存容量不够大,这需要计算机制造商的努力;另一方面是没有进行查询优化。本文就查询优化问题,谈点实践体会。分解查询这种方法是把查询分解执行,根据付出开销的多少来决定如何分解,转载 2008-06-03 22:32:00 · 2153 阅读 · 1 评论 -
数据查询优化之使用索引
一般的信息系统都会存在查询数据库的要求。查询速度的快慢直接影响系统压力测试的结果。通常情况下,为了提高查询速度,系统修改的顺序为:SQL语句优化-〉数据库优化-〉操作系统优化,实际上还有一个方面:系统架构优化。但系统架构优化一般代价比较大,起码要项目经理拍板才能执行,所以在这里就不多说了。 对于一般的开发人员接触到最多的当属SQL语句优化。而SQL语句优化中除了对SQL语句本身的转载 2008-06-03 22:41:00 · 1724 阅读 · 1 评论 -
MS SQL Server:分区表、分区索引详解
MS SQL Server:分区表、分区索引 详解1. 分区表简介使用分区表的主要目的,是为了改善大型表以及具有各种访问模式的表的可伸缩性和可管理性。 大型表:数据量巨大的表。 访问模式:因目的不同,需访问的不同的数据行集,每种目的的访问可以称之为一种访问模式。分区一方面可以将数据分为更小、更易管理的部分,为提高性能起到一定的作用;另一方面,对于如果具有多个CPU的系统,分区可以是对表的操作通过并行的方式进行,这对于提升性能是非常有帮助的。注意:只能在 SQL Server转载 2011-04-27 14:55:00 · 1841 阅读 · 0 评论