当前位置: 首页 > news >正文

建设部网站公民服务建筑工程网页

建设部网站公民服务,建筑工程网页,合肥网络推广,网站重复大家好,我是全栈小5,欢迎来到《小5讲堂》。 这是《Sql Server》系列文章,每篇文章将以博主理解的角度展开讲解。 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 目录前言SQL 创建索引…

大家好,我是全栈小5,欢迎来到《小5讲堂》。
这是《Sql Server》系列文章,每篇文章将以博主理解的角度展开讲解。
温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!

在这里插入图片描述

目录

  • 前言
  • SQL 创建索引的基本语法和示例
    • 基本语法
    • 常见索引创建示例
      • 1. 创建简单非聚集索引
      • 2. 创建唯一索引
      • 3. 创建聚集索引
      • 4. 创建复合索引(多列索引)
      • 5. 包含额外列的索引(覆盖索引)
      • 6. 使用筛选条件创建筛选索引
      • 7. 在线创建索引(减少锁影响)
      • 8. 指定填充因子
    • 高级选项
      • 并行创建索引
      • 使用 tempdb 排序
      • 在特定文件组上创建索引
    • 注意事项
  • 实用查询小技巧
    • 技巧说明
    • 基本语法
    • 实际示例
    • 适用场景
    • 注意事项
    • 替代方案
  • 文章推荐

前言

由于博主用的云服务器配置比较低,2M带宽,所以整体访问速度会比较慢,单达到一定内存和并发上限后会出现查询超时的情况。
此时就在硬件不变动情况下,就需要从软件层面优化,sql表索引就是常见的查询优化方向之一,
如果你用的是SSMS可视化工具操作sql server数据库,那么通过可视化方式去创建索引可能会失败,可以换成通过sql方式创建!

在这里插入图片描述

SQL 创建索引的基本语法和示例

以下是 SQL Server 中创建索引的完整语法和常见示例:

基本语法

CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED] INDEX index_name
ON table_name (column1 [ASC|DESC], column2 [ASC|DESC], ...)
[INCLUDE (column_name [, ...])]
[WITH (index_option [, ...])]
[ON filegroup_name | partition_scheme_name (column_name)]

常见索引创建示例

1. 创建简单非聚集索引

CREATE INDEX IX_Customer_LastName ON Customers(LastName);

2. 创建唯一索引

CREATE UNIQUE INDEX IX_Employee_Email ON Employees(Email);

3. 创建聚集索引

CREATE CLUSTERED INDEX IX_Orders_OrderDate ON Orders(OrderDate);

4. 创建复合索引(多列索引)

CREATE INDEX IX_Products_CategoryPrice ON Products(CategoryID, UnitPrice DESC);

5. 包含额外列的索引(覆盖索引)

CREATE INDEX IX_Orders_CustomerDate 
ON Orders(CustomerID, OrderDate) 
INCLUDE (TotalAmount, Status);

6. 使用筛选条件创建筛选索引

CREATE INDEX IX_ActiveProducts ON Products(ProductName)
WHERE Discontinued = 0;

7. 在线创建索引(减少锁影响)

CREATE INDEX IX_Customer_Region ON Customers(Region) WITH (ONLINE = ON);

8. 指定填充因子

CREATE INDEX IX_OrderDetails_ProductID 
ON OrderDetails(ProductID) 
WITH (FILLFACTOR = 70);

高级选项

并行创建索引

CREATE INDEX IX_LargeTable_Column ON LargeTable(Column1) WITH (MAXDOP = 4);

使用 tempdb 排序

CREATE INDEX IX_LargeTable_Column ON LargeTable(Column1) WITH (SORT_IN_TEMPDB = ON);

在特定文件组上创建索引

CREATE INDEX IX_LargeTable_Column ON LargeTable(Column1) ON INDEX_FG;

注意事项

  1. 表名和列名区分大小写取决于数据库的排序规则设置
  2. 每个表只能有一个聚集索引
  3. 创建索引会占用系统资源,大型表上创建索引可能需要较长时间
  4. 索引会提高查询性能但会降低插入、更新和删除操作的性能
  5. 定期维护索引(重建或重组)以保持性能

实用查询小技巧

使用 WITH (NOLOCK) 减少阻塞

技巧说明

在SQL Server中,当需要快速查询数据而不需要绝对最新的数据或精确一致性时,可以使用WITH (NOLOCK)提示(也称为"脏读")。这可以避免查询被其他事务阻塞,提高查询速度,特别是在高并发环境下。

基本语法

SELECT 列名1, 列名2, ...
FROM 表名 WITH (NOLOCK)
WHERE 条件;

实际示例

-- 普通查询(可能被其他事务阻塞)
SELECT OrderID, CustomerID, OrderDate 
FROM Orders
WHERE OrderDate > '2023-01-01';-- 使用NOLOCK的查询(不会被阻塞,但可能读到未提交的数据)
SELECT OrderID, CustomerID, OrderDate 
FROM Orders WITH (NOLOCK)
WHERE OrderDate > '2023-01-01';

适用场景

  1. 报表查询,对实时性要求不高
  2. 大数据量分析查询
  3. 开发调试环境
  4. 系统监控查询

注意事项

  1. 可能读取到未提交的数据(脏读) - 如果其他事务回滚,你读到的数据可能不存在
  2. 不保证数据一致性 - 可能读到部分更新的数据
  3. 不适合财务等关键业务 - 对于需要精确数据的场景不应使用
  4. 不是表锁的替代品 - 不能解决所有并发问题

替代方案

如果担心脏读但需要减少阻塞,可以考虑:

-- 使用READ UNCOMMITTED隔离级别(会话级设置)
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT OrderID, CustomerID, OrderDate 
FROM Orders
WHERE OrderDate > '2023-01-01';
SET TRANSACTION ISOLATION LEVEL READ COMMITTED; -- 恢复默认

文章推荐

【数据库】使用Sql Server创建索引优化查询速度,一般2万多数据后,通过非索引时间字段排序查询出现超时情况

【数据库】SQL Server 查询条件小技巧:ISNULL 函数的使用,有请DeepSeek来辅助讲解下

【Sql Server】在SQL Server中生成雪花ID(Snowflake ID)

【Sql Server】使用row_number over方式进行表分页,数据量达到五千多条记录后,查询变慢需要20多秒的解决方案

【Sql Server】随机查询一条表记录,并重重温回顾下自定义函数的封装和使用

【Sql Server】锁表如何解锁,模拟会话事务方式锁定一个表然后进行解锁

【Sql Server】通过Sql语句批量处理数据,使用变量且遍历数据进行逻辑处理

【新星计划回顾】第六篇学习计划-通过自定义函数和存储过程模拟MD5数据

【新星计划回顾】第四篇学习计划-自定义函数、存储过程、随机值知识点

【Sql Server】Update中的From语句,以及常见更新操作方式

【Sql server】假设有三个字段a,b,c 以a和b分组,如何查询a和b唯一,但是c不同的记录

【Sql Server】新手一分钟看懂在已有表基础上修改字段默认值和数据类型

总结:温故而知新,不同阶段重温知识点,会有不一样的认识和理解,博主将巩固一遍知识点,并以实践方式和大家分享,若能有所帮助和收获,这将是博主最大的创作动力和荣幸。也期待认识更多优秀新老博主。

http://www.dtcms.com/a/493129.html

相关文章:

  • 强化学习入门-1-CartPole-v1(DQN)
  • 精品网站源码资源程序下载新网站怎么做流畅
  • 温州专业手机网站制作多少钱郑州外贸网站制作
  • 阴阳师网站建设动漫专业就业前景
  • 企业门户网站服务器网页设计与网站建设的热点
  • 义乌公司网站制作海南网络广播电视台少儿频道
  • 企业怎么做自己的网站辽宁建设工程信息网怎么业绩加分
  • 萍缘网站建设工作曲靖房地产网站开发
  • 互联网站备案信息查询河南开展涉网暴力专项举报工作
  • 免备案域名是危险网站南京网站推广哪家便宜
  • 做电商卖玉器的网站如何自己开个网站平台
  • 南昌哪家做网站好h5制作开发哪儿
  • windows优化大师最新版本杭州市网站seo
  • 网站设计制作哪个公司的好wordpress淘宝联盟模板下载地址
  • 百度天气赋能下的湖南省湖南省空气质量WebGIS可视化关键技术与实现
  • 自己做服装搭配的网站网站cdn自己做
  • 建设银行官网网站人事百度广告投放公司
  • 公司展示型网站seo营销外包
  • 腾讯云学生机做网站四川省住房与城乡建设 厅网站
  • 广州知名网站提高网站可用性的策略有哪些
  • 自己做网站nas什么网站做博客好
  • 成都网站内容策划关于网站建设的技巧
  • 网站建设可行性及需求分析什么网站能接单做网站
  • 乐清站在那儿专门做书单的网站
  • 企业网站ui设计wordpress ftp服务器
  • 太仓建设局网站网站首页设计效果图
  • 织梦可以做视频网站么域名服务器分为
  • 北京网站优化公司哪里稳定网站网址怎么写
  • 甘肃网站建设费用工会网站建设方案
  • 热门关键词查询新上线的网站怎么做优化