随笔分类 - 语言和技术-SQL
摘要:最近做一个sql性能优化,本来想直接SSMS里面直接用执行计划功能的;结果把SSMS卡死了。 于是,改成用以下代码查看sql各个步骤的执行时间了。 --#tns定义 if object_id('tempdb..#tns') is not null drop table #tns; create ta
阅读全文
摘要:这里记录一种,删去排序不为1的记录,的方法。 这大概是我第二次用到这种查询。 两次的应用场景差不多,我需要在临时表中,按某种规则给记录排序,然后删去排序不为1的记录,也就是保留最好的一条。 这个和多条记录取一条是类似的,那个也可以先排序,再按照排序来取数据。 虽然上次写过,但是这次还是感觉卡壳,在这
阅读全文
摘要:如下 select name from sysobjects where xtype='TR'; 所有触发器 select name from sysobjects where xtype='P'; 所有存储过程 select name from sysobjects where xtype='V'
阅读全文
摘要:Left Join B表,只取B表一条记录 --用OUTER APPLY select b.* FROM a表 a OUTER APPLY (select TOP(1) * from b表 WHERE [Name] = a.[AName] ORDER BY BNo desc) b 总结: 1. 理解
阅读全文
摘要:这个查询在【用xxId和Parent_xxId存储的树】的表中,用的比较多。 每次都记不住,记录一下。 with t as ( select level=1,* from GuPiaoGaiNian where GaiNianID = 'G000542' union all select level
阅读全文
摘要:如下 SELECT i.name AS [索引名称], SUM(s.used_page_count) * 8 AS [索引大小KB] FROM sys.dm_db_partition_stats AS s JOIN sys.indexes AS i ON s.[object_id] = i.[obj
阅读全文
摘要:以下方案暂定,后面会试一下效果。 主要的思路是分段去重,因为直接一个语句去重太慢了。 脚本试着分段数量合理了以后,就做成程序,程序多开来处理不同的分段。 --首先按照【txt】字段建立索引 --然后下面的脚本会按照这个索引排序,分段,生成【对每个分段查询重复id】的sql语句。 --再下一步,想在程
阅读全文
摘要:原文链接 作者:willingtolove 出处:http://www.cnblogs.com/willingtolove/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 #方法一:通过图形界面逐步操作 1、打开
阅读全文
摘要:1 delete from ZZ1 where txt in( select txt from ZZ1 group by txt having count(txt) > 1) and ID not in(select max(ID) from ZZ1 group by txt having coun
阅读全文
摘要:方法 原文 https://www.cnblogs.com/marvin/p/SQLServerPagingOptimiz.html
阅读全文
摘要:如下 sp_attach_db '数据库名','数据库全路径.mdf','数据库日志全路径.ldf'
阅读全文
摘要:步骤如下: 1.在表设计中,右键/关系。 2.点添加按钮。 3.点表和列规范按钮。
阅读全文
摘要:while循环。 通过循环计数,得到了子节点,在树中的层数。 建表的约定:Id是节点Id;ParentId是父节点的Id;根节点的ParentId值为‘0’。
阅读全文
摘要:抛出错误的例子 begin try begin tran tran1 select 1/0 commit tran tran1 end try begin catch --抛出错误 declare @errMsg varchar(max) = Convert(varchar(50),error_nu
阅读全文
摘要:如下 /* 装了SQL Server却找不到配置管理器,怎么办呢? 可以用命令直接找到! 在Start中或者运行窗口中输入命令。 */ /* SQLServerManager11.msc -- 2012SQLServerManager12.msc -- 2014 SQLServerManager10
阅读全文
摘要:sql里写循环,还是得用游标写。 插入代码 --csdeclare @CLID varchar(50),@Start varchar(200),@End varchar(200); declare cs cursor for select CLId,Start,[End] from #tCiLian
阅读全文
摘要:代码 --sql多条相似内容取一条 --首先创建测试数据 if object_id('tempdb..#t') is not null drop table #t create table #t ( time int, total int, name varchar(50) ) insert int
阅读全文
摘要:代码如下 DELETE a FROM t_StorageQty a LEFT JOIN t_Item b ON a.F_ItemID = b.F_ID WHERE isnull(b.F_ID,'') = ''
阅读全文
摘要:查询包含某字段的所有表 select object_name(id) objName,Name as colName from syscolumns where (name like'%你要查询的字段名%') and id in(select id from sysobjects where xty
阅读全文
摘要:获取数据库表结构 select a.COLUMN_NAME,a.DATA_TYPE,a.CHARACTER_MAXIMUM_LENGTH,b.value from information_schema.COLUMNS as a left join sys.extended_properties as
阅读全文