MSSQL

SQL基础:SQL SERVER使用表分区优化性能

1.简介 当一个表数据量很大时候,很自然我们就会想到将表拆分成很多小表,在执行查询时候就到各个小表去查,最后汇总数据集返回给调用者加快查询速度。比如电商平台订单表,库存表,由于长年累月读写较多,积累数据都是异常庞大的,这时候,我们可以想到表分区这个做法,降...

SQL开发知识:SQL中 patindex函数的用法详解

返回pattern字符串在表达式expression里第一次出现的位置,起始值从1开始算。 pattern字符串在expression表达式里没找就返回0,对所有有效的文本和字符串就是有效的数据类型。 描述一下此函数的具体用法: 1. PATINDEX (...

SQL基础:SQL Server中的文件和文件组介绍

文件和文件组简介 在SQL Server中,数据库在硬盘上的存储方式和普通文件在Windows中的存储方式没有什么不同,仅仅是几个文件而已。SQL Server通过管理逻辑上的文件组的方式来管理文件。 SQL Server通过文件组对数据文件进行管理。我们...

SQL开发知识:SQL 创建、更新和删除视图的方法

视图是可视化的表。 本章讲解如何创建、更新和删除视图。 SQL CREATE VIEW 语句 在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。 视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。 您可...

SQL基础:SQL Server中的约束(constraints)详解

一、约束的分类 在SQL Server中,有3种不同类型的约束。 实体约束实体约束是关于行的,比如某一行出现的值就不允许出现在其他行,例如主键。 域约束域约束是关于列的,对于所有行,某一列有那些约束,例如CHECK约束。 参照完整性约束如果某列的值必须与其...

SQL开发知识:SQL Server 开窗函数 Over()代替游标的使用详解

前言: 今天在优化工作中遇到的sql慢的问题,发现以前用了挺多游标来处理数据,这样就导致在数据量多的情况下,需要一行一行去遍历从而计算需要的数据,这样处理的结果就是数据慢,容易卡死。 语法介绍: 1、与Row_Number() 函数结合使用,对结果进行排序...

SQL基础:SQL Server的触发器你了解多少

触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。 什么是触发器 触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触发器一般用在check约...

SQL基础:SQL查询连续登陆7天以上的用户的方法实现

查询7天连续登陆用户这个问题很经典,解决方法也有很多,这里我讲一下笔者的方法,希望对大家有帮助。 具体思路: 1、因为每天用户登录次数可能不止一次,所以需要先将用户每天的登录日期去重。 2、再用row_number() over(partition by ...