随笔分类 - SQL
摘要:资料: https://blog.csdn.net/yenange/article/details/32705347 以上资料, 有测试库表脚本. 以上资料中的select性能, 与delete性能, 我认为用例使用不对. 不能全表查询. 应该加上where进行查询性能对比 1. 插入速度, 磁盘比
阅读全文
摘要:教程https://www.cnblogs.com/zhangpengshou/archive/2013/01/17/2864234.htmlhttps://www.cnblogs.com/Brambling/p/8016060.htmlhttps://blog.csdn.net/tjvictor/article/details/4726933官方文档: https://docs.microsof...
阅读全文
摘要:1. 创建分区 分区步骤:1.创建分区函数 2.创建分区架构 3.创建分区索引(聚集) --1. 创建分区函数 DECLARE @dt datetime SET @dt = '20030901' CREATE PARTITION FUNCTION PF_History(datetime) AS RANGE RIGHT ...
阅读全文
摘要:采用windows身份验证模式 Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
阅读全文
摘要:监控前言 上一节我们提到了MSSQL的基于SQL Event的监控,但是有些时候我们需要更加详细、适用于调优排错的监控。SQL Server内部运行的可见性是的查询调整、优化和综合排查成为可能!这一节主要和大家说说SQL Server跟踪(SQL Server Profile)的一些监控方式和途径。 使用场景 记得某次给一家公司调优的时候,负责人发给我一堆业务的T-SQL脚本,我面对...
阅读全文
摘要:缓存执行计划 SQL Server 2008提供了一些服务器对象来分析执行计划 Sys.dm_exec_cached_plans: 包含缓存的执行计划,每个执行计划对应一行。 Sys.dm_exec_plan_attributes: 这是一个系统函数,每一个执行计划都对应着一些属性,在这个系统函数中包含着这些属性。 Sys.dm_exec_sql_text:...
阅读全文
摘要:问题是存储过程的Parameter sniffing 在很多的资料中都描述说SQLSERVER的存储过程较普通的SQL语句有以下优点: 1. 存储过程只在创造时进行编译即可,以后每次执行存储过程都不需再重新编译,而我们通常使用的SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。 2. 经常会遇到复杂的业务逻辑和对数据库的操作,这个时候就会用SP来封装数据库操作...
阅读全文
摘要:查看数据库的计数器: SELECT * FROM sys.dm_os_performance_counters **也可以使用系统的性能计监测器查看. 右键图表-> 添加计数器. 添加要监控的项 计数器中一些项的说明 : http://www.cnblogs.com/flysun0311/archive/2012/02/29/2373390.html ...
阅读全文
摘要:由于 SQL Server 的触发器, 没有 FOR EACH ROW (ORACL中有)的选项, 有时候不正确的使用 inserted 与deleted 可能会有点麻烦。 下面来一个简单的例子 --假设这个A是主表 CREATE TABLE A( AID INT IDENTITY(1, 1) PRIMARY KEY, money INT ); -- 假设这个B是 ...
阅读全文
摘要:限制IP访问: 资料: http://tech.ddvip.com/2013-09/1378897759202493.html 运行: USE master GO CREATE TRIGGER tr_LoginCheck ON ALL SERVER FOR LOGON AS IF EVENTDATA().value('(/EVENT_INSTANCE/Client...
阅读全文
摘要:使用 OpenRowSet 和 OpenDataSource 访问 Excel 97-2007 测试文件:D:\97-2003.xls和D:\2007.xlsx,两个文件的内容是一模一样的。 测试环境:SQL Server 2000 / 2005。 ------------------------------------------------------------------------...
阅读全文
摘要:我们在数据库中使用表的时候,经常会遇到两种使用表的方法,分别就是使用临时表及表变量。在实际使用的时候,我们如何灵活的在存储过程中运用它们,虽然它们实现的功能基本上是一样的,可如何在一个存储过程中有时候去使用临时表而不使用表变量,有时候去使用表变量而不使用临时表呢? 临时表 临时表与永久表相似,只是它的创建是在Tempdb中,它只有在一个数据库连接结束后或者由SQL命令DROP掉,才会消失,否则就会...
阅读全文
摘要:大数据量分页存储过程效率测试附代码 在项目中,我们经常遇到或用到分页,那么在大数据量(百万级以上)下,哪种分页算法效率最优呢?我们不妨用事实说话。 测试环境 硬件:CPU 酷睿双核T5750 内存:2G 软件:Windows server 2003 + Sql server 2005 OK,我们首先创建一数据库:data_Test,并在此数据库中创建一表:tb_TestTable 1create ...
阅读全文
摘要:--调用方法: --select * from GetChild('24') --select id from GetChild('24') --select * from KuCun where ProductType in(select id from GetChild('24')) Create function [dbo].[GetChild](@ID varchar(10)) ret...
阅读全文
摘要:--批量删除用户表--1.删除外键约束DECLARE c1 cursor for select 'alter table ['+ object_name(parent_obj) + '] drop constraint ['+name+']; ' from sysobjects where xtype = 'F'open c1declare @c1 varchar(8000)fetch next from c1 into @c1while(@@fetch_status=0) begin exec(@c1) fetch next from c1 into @c1 endclose c1de
阅读全文
摘要:selectdatename(week,dateadd(dd,-1,tb.日期)) from tb group by datename(week,dateadd(dd,-1,tb.日期))注意:这里之所以要把销售日期-1是因为sql server默认的一周的第一天是星期天,而我们习惯的统计是以星期一到星期天计算的,所以减一。DATENAME :返回表示指定 date 的指定 datepart 的字符串datepart 是返回的 date 的一部分。下表列出了所有有效的 datepart 参数。用户定义的变量等效项是无效的。datepart 缩写 year yy, yyyy quarter qq
阅读全文
摘要:步骤: 1.从表中查询数据,进行按月分组。 2.与临时表关联Create table tb(日期 Varchar(10),时间 Varchar(10),价格 float)insert tb values('2009-01-01','02:00:00','12.55')insert tb values('2009-02-22','02:00:00','26.55')insert tb values('2009-01-22','04:00:00','10.52')insert tb values('2009-02-22','06:00:00','23.55')insert tb values(
阅读全文
摘要:步骤: 1.从表中查询数据,进行按日分组。 2.与临时表关联Create table tb(日期 Varchar(10),时间 Varchar(10),价格 float)insert tb values('2009-05-01','02:00:00','12.55')insert tb values('2009-05-22','02:00:00','26.55')insert tb values('2009-05-22','04:00:00','10.52')insert tb values('2009-05-22','06:00:00','23.55')insert tb values(
阅读全文
浙公网安备 33010602011771号