SQL Server 索引和视图

CSDN 成就一亿技术人!

难度指数:* * *

CSDN 成就一亿技术人!


目录

1.索引

什么是索引?

索引的作用?

索引的分类

1. 唯一索引

2. 主键索引

3. 聚集索引

4.非聚集索引

5.复合索引

6.全文搜索

索引的创建(命令+图形)

2. 视图

创建视图

查询视图

更新视图

删除视图

实例


1.索引

什么是索引?

索引(Index)是数据库中一种用于加速对表中数据的检索速度的数据结构。索引类似于书籍的目录,它提供了一种快速查找数据行的方法,避免了全表扫描的开销。通过使用索引,数据库系统可以直接定位到符合特定搜索条件的数据,而不必逐行遍历整个表。

索引的作用?

  • 减少数据库搜索引擎需要扫描的数据量。
  • 帮助数据库搜索引擎更快地找到与查询条件匹配的数据行。
  • 允许数据库搜索引擎使用更有效的算法来查找数据行。

索引的分类

1. 唯一索引

确保索引列的所有值都是唯一的,用于实现唯一性约束

CREATE UNIQUE INDEX index_name on 表名 (列1,列2.....);

2. 主键索引

主键索引是表中唯一的索引,它用于指定表的主键。主键索引可以提高查询的效率,但会增加数据库的空间占用

创建主键索引的注意事项

  • 主键索引的列必须是唯一的。
  • 主键索引的列不能为 NULL。
  • 主键索引的列不能包含重复值。

ALTER TABLE table_name
ADD CONSTRAINT pk_constraint_name PRIMARY KEY (column1, column2, ...);

  • table_name 是表的名称。
  • pk_constraint_name 是你为主键约束指定的名称。
  • (column1, column2, ...) 是主键包含的列的列表。

3. 聚集索引

数据库表行中数据的物理顺序与键值的逻辑(索引)顺序相同

一个表中只能包含一个聚集索引

CREATE CLUSTERED INDEX index_name
ON table_name (column1, column2, ...);

  • index_name 是你为索引指定的名称。
  • table_name 是要在其上创建索引的表的名称。
  • (column1, column2, ...) 是用于聚集索引的列的列表。

4.非聚集索引

与聚集索引不同,非聚集索引的叶子节点并不包含实际的数据行,而是包含指向实际数据行的指针。一个表可以有多个非聚集索引。

CREATE NONCLUSTERED INDEX index_name
ON table_name (column1, column2, ...);

  • index_name 是你为索引指定的名称。
  • table_name 是要在其上创建索引的表的名称。
  • (column1, column2, ...) 是用于非聚集索引的列的列表。

5.复合索引

包含多个列的索引,以提高特定查询的性能,复合索引的顺序通常取决于查询中使用的列的顺序。

CREATE INDEX index_name
ON table_name (column1, column2, ...);

  • index_name 是你为索引指定的名称。
  • table_name 是要在其上创建索引的表的名称。
  • (column1, column2, ...) 是用于复合索引的列的列表。

6.全文搜索

一种用于在文本数据中进行高效搜索的技术,允许用户以自然语言的方式查询文本数据。在 SQL Server 中,可以使用全文搜索功能进行这样的操作。

这个自行了解

索引的创建(命令+图形)

命令

这边创建一个唯一索引 当做实例

图形

右击表 点击设计

右击列 点击 索引即可

此刻我们发现命令创建的索引成功

2. 视图

  • 可以简化查询。 视图可以将复杂的查询转换为简单的查询,使查询更加容易理解和使用
  • 简化查询

创建视图

CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table1
WHERE condition;

  • view_name 是视图的名称。
  • column1, column2, ... 是视图中包含的列。
  • table1 是表。
  • WHERE condition 是可选的筛选条件。

查询视图

SELECT * FROM youView;

更新视图

UPDATE youView
SET FirstName = 'NewName'
WHERE 条件;

删除视图

DROP VIEW view_name;

实例

创建视图

这里红色(错误语法) 但是可以执行

更新视图

查询视图

更新后的信息

删除视图

再次查询一遍发现无效

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2659629.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Linux系统——lv 逻辑卷

目录 一、概念 二、LVM的管理命令 三、新建逻辑卷 1、准备工作 2、创建物理卷 3、为卷组分配物理卷 4、从卷组创建逻辑卷 5、格式化逻辑卷,即确定文件系统的类型 6、挂载逻辑卷 四、扩容 1、相关命令 2、扩容根目录 一、概念 LVM 是 Logical Volume Man…

C语言之字符串处理

目录 字符串长度 显示字符串 数字字符的出现次数 大小写字符转换 字符串数组的参数传递 非字符串的字符数组 目前我们所学习到的是围绕字符串的处理,仅仅是生成字符串、读取并显示字符串,下面我学习更加灵活处理字符串的方式。 字符串长度 我们来看…

(12)Linux 常见的三种进程状态

💭 前言:本章我们专门讲解进程的状态。我们先学习具体的 Linux 系统状态,再去介绍 OS 学科面对的概念如何理解 —— 运行态、终止态、阻塞态以及挂起态。 进程状态(Process Status) 什么是进程状态? 进程…

【node-express】实现省县市/区三级联动接口

省县市/区三级联动接口 介绍接口步骤代码部分 介绍 源码地址:https://github.com/thinkasany/nestjs-course-code/tree/master/demo/address 使用 navicat 导入sql文件,新增表,然后只需要一个接口 localhost:3001/region?parentId1, 不断的…

C++day2作业

把课上strcut的练习&#xff0c;尝试着改成class #include <iostream>using namespace std; class Stu { private:int age;string sex;int hign; public:int soce;void get_information();void set_information(); }; void Stu::set_information() {static Stu s1;cout …

案例195:基于微信小程序的购物商城系统

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…

DDR3通信协议介绍篇

一.DDR3简介 DDR核心技术点就在于&#xff1a;(1)双沿传输。(2)预取prefetch. DDR的频率&#xff1a;(1)核心频率 (2)时钟频率 (3)数据传输频率&#xff1b;核心频率就是内存的工作频率&#xff1b;DDR1内存的核心频率是和时钟频率相同的&#xff0c;到了DDR2和DDR3时才有了时…

HTML 网页设计 简约风格 注册界面

成品如下 html <!DOCTYPE html> <html><head><meta charset"utf-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Science科幻注册界面</title><link href"…

uni-app uni.scss内置全局样式变量

锋哥原创的uni-app视频教程&#xff1a; 2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中...共计23条视频&#xff0c;包括&#xff1a;第1讲 uni…

【C语言】初识C语言

本章节主要目的是基本了解C语言的基础知识&#xff0c;对C语言有一个大概的认识。 什么是C语言 在日常生活中&#xff0c;语言就是一种人与人之间沟通的工具&#xff0c;像汉语&#xff0c;英语&#xff0c;法语……等。而人与计算机之间交流沟通的工具则被称为计算机语言&am…

.Net FrameWork总结

.Net FrameWork总结 介绍.Net公共语言运行库CLI的组成.NET Framework的主要组成.NET Framework的优点CLR在运行期管理程序的执行&#xff0c;包括以下内容CLR提供的服务FCL的组成 或 服务&#xff08;这个其实就是我们编码时常用到的类库&#xff09;&#xff1a;&#xff08;下…

[Angular] 笔记 12:模板驱动表单 - ngForm

Angular For Beginners - 16. Template Driven Forms (ngForm) Angular 以其表单模块而闻名。 Angular 有两种类型的表单&#xff1a; Template 以及 Reactive&#xff1a; Template 表单的特点&#xff1a;简单&#xff0c;神奇&#xff0c;一键点击。 Reactive 表单的特点&…

echarts中给图表X轴和Y轴加单位以及给tooltip(提示框)增加单位

左边没有单位&#xff0c;右图是增加单位的效果。 1.x轴y轴设置单位 增加单位不管是x轴还是y轴都可以设置name字段&#xff0c;设置完name后效果是红色箭头效果。如果想要蓝色箭头效果可以使用x轴y轴的都有的 axisLabel 属性里面有formatter配置项&#xff0c;formatter支持字…

绝缘电阻测试仪的读数方法有哪些?

绝缘电阻测试仪主要用于测量设备的绝缘电阻&#xff0c;电力工人经常使用它来测试电力设备&#xff0c;从来没有维护过电力设备的正常运行状态。在测试电力设备时&#xff0c;往往需要读取测试结果。绝缘电阻测试仪常用的读数方法有哪些&#xff1f;我一起来盘点一下。 常用的绝…

C语言—每日选择题—Day64

前言 两天没更新了&#xff0c;作者在复习期末考试&#xff0c;更新一波&#xff0c;祝大家都能顺利通过期末考试&#xff01;&#xff01;&#xff01; 指针相关博客 打响指针的第一枪&#xff1a;指针家族-CSDN博客 深入理解&#xff1a;指针变量的解引用 与 加法运算-CSDN博…

Python 爬取 哔站视频弹幕 并实现词云图可视化

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 环境介绍: python 3.8 解释器 pycharm 编辑器 第三方模块: requests >>> pip install requests protobuf >>> pip install protobuf 如何安装python第三方模块: win R 输入 cmd 点击确定, 输入安装命…

C++ DAY1 作业

1.定义自己的命名空间myspace&#xff0c;并在myspace中定义一个字符串&#xff0c;并实现求字符串长度 #include <iostream>using namespace std; namespace myspace {string str;int length_fun(){getline(cin,str);int i 0;while(str[i] ! \0){i;}return i;}} using…

【我与Java的成长记】之this引用和构造方法的使用详解

系列文章目录 能看懂文字就能明白系列 C语言笔记传送门 &#x1f31f; 个人主页&#xff1a;古德猫宁- &#x1f308; 信念如阳光&#xff0c;照亮前行的每一步 文章目录 系列文章目录&#x1f308; *信念如阳光&#xff0c;照亮前行的每一步* 前言一、this的使用this引用的特…

Flink1.17实战教程(第二篇:DataStream API)

系列文章目录 Flink1.17实战教程&#xff08;第一篇&#xff1a;概念、部署、架构&#xff09; Flink1.17实战教程&#xff08;第二篇&#xff1a;DataStream API&#xff09; Flink1.17实战教程&#xff08;第三篇&#xff1a;时间和窗口&#xff09; Flink1.17实战教程&…

Bert模型from_pretrained报网络错误解决办法

问题描述&#xff1a; 服务器或者本地运行以下代码时报网络连接错误&#xff1a; from transformers import AutoTokenizermodel_checkpoint "distilbert-base-uncased" tokenizer AutoTokenizer.from_pretrained(model_checkpoint, use_fastTrue, cache_dir./cac…