SQL Serever学习8——数据表3
创建索引
索引就像是字典的目录一样,可以快速的指定需要的数据。
有没有索引的区别
一个没有索引的集合,如果我们需要查找某一个对象,需要遍历整个集合,直到找到匹配的对象,整个工作费时费力,这只是找一个对象的功夫,如果是查找多个对象,那么简直要命了。
一个有索引的集合,就是一个标号数组,我们知道了这个对象的标号,拿着标号直接去取对象,非常快,相对来说,省时省力,这就是索引的好处。
索引分类
- 聚集索引
- 非聚集索引(普通索引)
聚集索引就是已经标号,并且排序好的数组,而非聚集索引就是只标号,但是没有排序。
如果一个属性被标记为primary key ,那么这个属性会自动的建立一个聚集索引。
建立索引的注意
索引并不是越多越好的,对于一个表不要建立大量的索引,因为索引文件需要占用存储空间,会加重系统负担。
当表需要增删改的时候,索引文件也会自动维护,以保持与基本表一致,索引过多会影响增删改的速度。
基本表的数据量越多,记录越长,就越要建立索引,创建索引之后明显加快查询速度。对那些查询频度高,实时性要求高的数据一定要建立索引。
但是也有要避免建立索引的情况:
- 包含太多重复值的列
- 查询中很少引用的列
- 值特别长的列
- 很多NULL值的列
- 需要经常增删改的列
- 记录较少的数据表
- 需要进行频繁的,大批量数据更新的基本表
新建索引
右键索引节点,选择新建索引,非聚集索引
修改索引名称,然后点击添加,
选择“商品名称”,点击确定
然后继续点击确定
非聚集索引就创建好了
查看索引的属性
创建索引以后可以对索引进行管理和维护
右键索引,选择属性
删除索引
索引越多,意味着系统的负担越重,当索引失去意思的时候,应该及时进行删除。
右键索引,选择删除,确定
SQL Serever学习8——数据表3的更多相关文章
- SQL Serever学习7——数据表2
修改数据表的属性 保存数据表的修改的时候,总会弹出阻止修改的警告. 解决方法2种: 1.可以使用T-sql语句强行修改 2.工具>选项>设计器>表设计器和数据库设计器>阻止保存 ...
- SQL Serever学习6——数据表
数据表 表的构成 数据库中的基本表由记录(行)和字段(列)构成,SQLServer2008每个表可以有1024个列,每个列可以有8060字节(不包括iamge,ntext,text类型). 记录(Re ...
- Sql Server系列:数据表操作
表是用来存储数据和操作数据的逻辑结构,用来组织和存储数据,关系数据库中的所有数据都表现为表的形式,数据表由行和列组成.SQL Server中的数据表分为临时表和永久表,临时表存储在tempdb系统数据 ...
- 使用Sql语句快速将数据表转换成实体类
开发过程中经常需要根据数据表编写对应的实体类,下面是使用sql语句快速将数据表转换成对应实体类的代码,使用时只需要将第一行'TableName'引号里面的字母换成具体的表名称就行了: declare ...
- 【SQL Server】sql server更改了数据表的字段/新增数据表的字段 无法保存
sql server更改了数据表的字段/新增数据表的字段 无法保存 解决方法:进入 工具-->选项-->Designers-->表设计器和数据库设计器-->取消勾选 即可
- MyBatis学习(二)---数据表之间关联
想要了解MyBatis基础的朋友可以通过传送门: MyBatis学习(一)---配置文件,Mapper接口和动态SQL http://www.cnblogs.com/ghq120/p/8322302. ...
- 定制Asp.NET 5 MVC内建身份验证机制 - 基于自建SQL Server用户/角色数据表的表单身份验证
背景 在需要进行表单认证的Asp.NET 5 MVC项目被创建后,往往需要根据项目的实际需求做一系列的工作对MVC 5内建的身份验证机制(Asp.NET Identity)进行扩展和定制: Asp.N ...
- SQLite学习手册(数据表和视图)
如何列出SQLite数据库中的所有表 SQLite数据库中的信息存在于一个内置表sqlite_master中,在查询器中可以用 select * from sqlite_master 来查看,如果只要 ...
- MySQL学习3 - 数据表的操作
本节掌握 一.存储引擎(了解) 二.mysql支持的存储引擎 1.InnoDB 存储引擎 2.MyISAM 存储引擎 3.NDB 存储引擎 4.Memory 存储引擎 5.Infobright 存储引 ...
随机推荐
- Exp1 PC平台逆向破解 20164323段钊阳
实验目标 学习两种方法运行代码片段,并学习如何注入运行任何Shellcode. 三个实验内容如下: 1.手工修改可执行文件,改变程序执行流程,直接跳转到getshell函数 2.利用foo函数的bof ...
- python文件备份与简单操作
#!/usr/bin/python # -*- coding: utf-8 -*- # data:2018/8/30 # user:fei import sys import random num = ...
- Vulnhub Billu_b0x
1.信息收集 1.1.获取IP地址: map scan report for 192.168.118.137 Host is up (0.00017s latency). Not shown: 998 ...
- HTTP请求报文支持的各种方法
常见的HTTP方法如下: 1.GET GET是最常用的方法.通常用于请求服务器发送某个资源. 2.HEAD HEAD与GET的行为类似,但服务器在响应中只返回首部,不会返回实体的部分.这就允许客户端在 ...
- [Objective-C语言教程]结构体(17)
Objective-C数组可定义包含多个相同类型的数据项的变量类型,但结构体是Objective-C编程中的另一个用户定义数据类型,它可组合不同类型的数据项. 结构体用于表示记录,假设要图书馆中跟踪书 ...
- day 14 自定义模块,常用模块 time .datetime ,time 模块
内容大纲 一:Import 模块 1,创建一个以tbjx命名的名称空间 2,执行此模块的代码,并将所有内容加载到内存 3,调用此模块的代码要通过tbjx.的方式 二:from 包 import 模块 ...
- java简单的运算符和表达式
1.运算符的运算级别分为很多层,第一层是(),括号的运算级别最高. 第二层是+,——,*,/,加,减,乘,除 第三层是==,等于号. 第四层是&&,||,或 与 且 && ...
- redis-server.exe双击闪退 win10系统
博客 解决方法: 1-win+R 打开命令行 2-cd至redis目录,例如 D:\redis> 3-输入 redis-server.exe redis.windows.conf 4-若 ...
- go 语言学习 1
Go语言命名 Go语言关键字 1.Go语言有25个关键字: 2.关键字用途: var :用于变量的声明const :用于常量的声明type :用于声明类型func :用于声明函数和方法package ...
- WC2019退役记
sb题不会,暴力写不完,被全场吊着打,AFO