![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQL
阳光C
这个作者很懒,什么都没留下…
展开
-
破解 SQL 加密的存储过程、函数
<br />适用于用:WITH ENCRYPTION 语句加密的过程。<br />------------------------------------------------------------------------------------<br />步骤1:<br />create PROCEDURE sp_decrypt(@objectName varchar(50))<br />AS<br />begin<br />set nocount on<br />begin tran<br />转载 2010-08-10 11:42:00 · 516 阅读 · 0 评论 -
SQL Server 索引结构及其使用(四)
<br />聚集索引的重要性和如何选择聚集索引<br /><br /> 在上一节的标题中,笔者写的是:实现小数据量和海量数据的通用分页显示存储过程。这是因为在将本存储过程应用于“办公自动化”系统的实践中时,笔者发现这第三种存储过程在小数据量的情况下,有如下现象: <br /><br />1、分页速度一般维持在1秒和3秒之间。 <br /><br />2、在查询最后一页时,速度一般为5秒至8秒,哪怕分页总数只有3页或30万页。 <br /><br /> 虽然在超大容量情况下,这个分页的实现过程是很快的,但转载 2010-10-08 10:51:00 · 422 阅读 · 0 评论 -
SQL Server 索引结构及其使用(一)
<br />一、深入浅出理解索引结构<br /><br /> 实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别: <br /> 其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,而按照拼音排序汉转载 2010-10-08 10:10:00 · 275 阅读 · 0 评论 -
SQL - 查找 过程、函数、触发器 是否包含 某个指定 字符串
如何查找自己写的sql server 哪些存储过程,函数、触发器包含某个指定的字符串 ?1.查找 过程、函数 外码里是否包含指定的串:SELECT ROUTINE_NAME FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUT原创 2011-01-28 11:59:00 · 4046 阅读 · 0 评论 -
SQL 获取某月 自然天数
create function fn_getDayByYearMonth(@year int,@month int) returns int begin declare @date datetime declare @day int if(@month12) b转载 2010-10-25 22:01:00 · 2874 阅读 · 2 评论 -
获取 某个表 的 主键名
获取主键约束名: 方法一: SELECT TABLE_NAME, COLUMN_NAME, constraint_name FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME='表名' 方法二: SELECT A.NAME AS 表名,B.NAME AS 主键名转载 2011-08-03 18:32:40 · 993 阅读 · 0 评论 -
获取某个表的详细情况
SELECT 表名 = case when a.colorder=1 then d.name else '' end, 表说明 = case when a.colorder=1 then isnull(f.value,'') else '' end, 字段序号 = a.colorder, 字段名 = a.name,转载 2011-08-03 18:33:36 · 504 阅读 · 0 评论 -
sql创建作业调度
--定义创建作业DECLARE@jobiduniqueidentifierEXEC msdb.dbo.sp_add_job @job_name= N'作业名称', @job_id=@jobid OUTPUT--定义作业步骤DECLARE@sqlnvarchar(400),@dbname sysnameSELECT@dbname=DB_NAME(), --转载 2012-10-19 13:32:14 · 990 阅读 · 0 评论 -
SQL 优化34条建议
<br />(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效): <br />ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表. <br />(2) WHERE子句中的连接顺序.转载 2010-10-07 19:36:00 · 280 阅读 · 0 评论 -
sql优化、索引的建立和运用以及多表连接建索引的拙劣见解
<br />一、问题的提出<br /> 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的编写等体会不出SQL语句各种写法的性能优劣,<br />但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。<br />系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见<br />对于一个系统不是简单地能实现其功能就可,而是要写出高质量的 SQL 语转载 2010-10-08 16:04:00 · 2537 阅读 · 0 评论 -
不同数据库之间复制表的数据的方法
当表目标表存在时:insert into 目的数据库..表 select * from 源数据库..表 当目标表不存在时:select * into 目的数据库..表 from 源数据库..表--如果在不同的SQL之间:insert into openrowset('sqloledb','目的服务器名';'sa';'',目的数据库.dbo.表) select * from 源数据库..表--创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB '转载 2010-08-10 11:49:00 · 796 阅读 · 0 评论 -
SQL 交叉表
<br />--列转行<br />declare @sql varchar(8000)<br />set @sql='select ys '<br /> <br />select @sql=@sql+', sum(case when [ms]='''+ ms +''' then sl else 0 end) as ['+ ms +']' FROM (select distin转载 2010-08-10 11:50:00 · 489 阅读 · 0 评论 -
收集的一些SQL知识
<br />--获得系统所有数据库,<br /> select * from master..sysdatabases <br />--指定数据库的所有表<br /> select * from information_schema.tables<br />--指定数据库的指定表的所有字段<br />select * from information_schema.columns <br />--检查 sa 用户 登陆,正在使用的数据库<br />select db_name(dbid) fro原创 2010-08-10 11:52:00 · 457 阅读 · 0 评论 -
2000下自定义函数调用不确定性内置系统函数
<br />2000下自定义函数和不确定性内置系统函数<br />作者:hapyflystone blog:http://blog.csdn.net/happyflytone<br />转载请注明出处<br /> <br /> <br /> 我们经常在想自定义函数内调用一些不确定性的系统函数,可是天不作美系统会报错,下面演示一下系统函数getdate().<br /> <br /> <br /> --创建函数<br /> create function f_getsystemdat转载 2010-08-26 11:34:00 · 526 阅读 · 0 评论 -
SQL中CONVERT()转化函数的用法
<br />CONVERT(data_type,expression_r_r[,style])<br />语句及查询结果:<br />SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM<br />SELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/06<br />SELECT CONVERT(varchar(100), GETDATE(), 2): 06.05.16<br />SELEC转载 2010-09-01 21:21:00 · 390 阅读 · 0 评论 -
SQL Server 索引结构及其使用(三)
<br />实现小数据量和海量数据的通用分页显示存储过程<br /><br /> 建立一个 Web 应用,分页浏览功能必不可少。这个问题是数据库处理中十分常见的问题。经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页。但这种分页方法仅适用于较小数据量的情形,因为游标本身有缺点:游标是存放在内存中,很费内存。游标一建立,就将相关的记录锁住,直到取消游标。游标提供了对特定集合中逐行扫描的手段,一般使用游标来逐行遍历数据,根据取出数据条件的不同进行不同的操作。而对于转载 2010-10-08 10:50:00 · 409 阅读 · 0 评论 -
SQL 索引实践经验
人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复杂的数据库环境中(如联机事务处理OLTP或决策支持系统DSS)中表现得尤为明显。笔者在工作实践中发现,不良的SQL往往来自于不恰当的索引设计、不充份的连接条件和不可优化的where子句。在对它们进行适当的优化后,其运行速度有了明显地提高!下面我将从这三个方面分别进行总结: 为了更直观地说明问题,所有实例中的SQL运行时间均经过测试,不超过1秒的均表示为( 测试环转载 2010-10-07 18:57:00 · 460 阅读 · 0 评论 -
SQL Server 索引结构及其使用(二)
<br />改善SQL语句<br /><br /> 很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解。比如: select * from table1 where name=''zhangsan'' and tID > 10000<br />和执行:select * from table1 where tID > 10000 and name=''zhangsan''<br /> 一些人不知道以上两条语句的执行效率是否一样,因为如果简单转载 2010-10-08 10:49:00 · 390 阅读 · 0 评论 -
MSSQL 2008 数据库被标记为可疑的解决方法
数据库发生这种操作故障时,可以按如下操作步骤可解决此方法,打开数据库里的Sql 查询编辑器窗口,运行以下的命令。方法一:--1、修改数据库为紧急模式ALTER DATABASE 数据库名 SET EMERGENCYGO--2、使数据库变为单用户模式ALTER DATABASE 数据库名 SET SINGLE_USERGO--3、修复数据库日志重新生成,此命令检查的分配,...原创 2014-11-20 16:39:03 · 1123 阅读 · 1 评论