分析表的索引建立情况:DBCC showcontig('Table')

执行重建索引命令:DBCC DBREINDEX('T_CEmployeeRegisterHoliday')

1、没有聚集索引查询

2、有聚集索引查询

3、没有非聚集索引查询

4、有非聚集索引查询

5、查询表索引语句

EXEC sp_helpindex A

6、删除索引语句

DROP index t_PortApply.PK_A1

7、除主键约束(聚集索引)语句

alter   table  A drop   constraint  PK_A1

8、显示执行时间

declare @d datetime

set @d=getdate()

select * from   @tmpTable

select [语句执行花费时间(毫秒)]=datediff(ms,@d,getdate())

9、由于一个表只能有一个聚集索引,并且如果该表设置了主键,默认主键就是聚集索引。但由于主键列在查询条件中并没有频繁作为查询条件使用,这时候在主键上建立聚集索引就太浪费资源了,这种情况下我们可以删除主键约束,给主键建立唯一约束,保证主键列值没有重复值,删除主键约束后就可以在其他列上建立聚集索引。

10、如果表中已经建立了其他列为聚集索引,再在一个列上面创建主键时,这时候主键列只能是非聚集索引。

11、建立唯一键约束(默认非聚集索引,实际上唯一键约束是用唯一索引来约束的)两者的功能是一样的

alter TABLE 表名 add  constraint   索引名称 unique(需要创建的列)

ALTER TABLE AA add CONSTRAINT [IX_name] UNIQUE NONCLUSTERED([name] ASC)

12、创建唯一索引( 唯一键 比 唯一索引 多了一种叫做 "unique key" 的约束)

例句:CREATE unique index ix_RowID  on T_CEmployeeRegisterHoliday(RowID)

例句:CREATE UNIQUE NONCLUSTERED INDEX [IX_UniqueIndex_name] ON [dbo].[TableUniqueIndex]([name] ASC)

a、不管是建立唯一索引还是唯一约束,被创建的列都不允许有重复数据,重复的NULL值也不可以

b、创建唯一键约束,同时创建同名的唯一非聚集索引, 同时创建同名统计信息; 唯一键约束靠唯一索引来约束。

c、唯一键约束的索引不能像正常的索引使用太多的索引参数,因为唯一键约束与其索引同在。而单独创建的唯一索引可以设置更多的参数

d、那么我们在创建列的唯一性时,到底使用哪一种较好呢?(个人建议)

唯一键约束在表中是必定存在的约束的,唯一键约束的索引存在于一个分区中,并且不会像索引那样可以更改。因为索引可以随时改动(当然也不会经常改动),索引 个人建议还是用唯一索引更灵活。管理约束还得管理索引,而管理索引,一个就好了。但是对于一些高可用性,也要注意索引是否在其他地方也存在。

也可以这么理解,如果只是单独给一列检查唯一性,两者都可以,如果需要给2列或者更多列检查唯一性,则就用唯一索引。

13、创建索引的标准:用于频繁搜索的列;用于对数据进行排序的列

14、创建索引时如果不加索引关键字,默认就是创建非聚集索引(创建索引关键字[ UNIQUE ]唯一索引 [ CLUSTERED]聚集索引[NONCLUSTERED ] 非聚集索引)

mysql创建唯一非聚集索引_创建聚集索引、非聚集索引、唯一索引、唯一键约束...相关推荐

  1. mysql创建约束时的约束名称,MySQL唯一键约束

    1.唯一键约束 特点: (1)一个表可以有多个唯一键约束 (2)唯一键约束意味着,唯一,可以为NULL (3)唯一键的约束名可以自己指定,也可以默认, 如果默认的话,一般如果单列唯一,默认就是列名, ...

  2. mysql创建非聚集索引_一文看懂聚集索引和非聚集索引的区别

    一.深入浅出理解索引结构 实际上,可以把索引理解为一种特殊的目录.微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引.簇集索引)和非聚集索引(nonclu ...

  3. 联合索引会创建几个索引_【1033期】分别谈谈联合索引生效和失效的条件

    这道题考查索引生效条件.失效条件.像这类问题才其实很有意义,建议各位以后面试其他伙伴的时候,多侧重这类问题的提问,比考察一般概念性的问题好多了. 能大概考察应聘者对写的程序是有注重做优化,提高代码质量 ...

  4. mysql建立数据库需要注意什么_创建数据库的语句是什么 MySQL数据库使用教程

    创建数据库的语句是:[CREATE DATABASE [IF NOT EXISTS] [[DEFAULT] CHARACTER SET ] [[DEFAULT] COLLATE ];]. 本文操作环境 ...

  5. html5如何新建定义站点,HTML5技术教程:创建新作品_HTML5教程_创建作品_添加元素_课课家...

    我们所熟知的HTM5软件是一款非常强大功能的软件,据我了解HTM5软件的特色也是非常有优势的.我们先来介绍一下它的优势: HTML5可以提供: ①:提高可用性和改进用户的友好体验; ②:有几个新的标签 ...

  6. oracle强制走索引_实验验证:Oracle聚簇因子对索引使用的影响

    [引言] 本文基于如下文章进行的实验,讲述聚簇因子对SQL索引的影响. 链接如下: https://www.modb.pro/db/40283 一张表上有索引,sql在执行的时候却不走索引的原因有很多 ...

  7. datetime 索引_超全的数据库建表/SQL/索引规范,适合贴在工位上!

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:又一程序员进了ICU:压垮一个家庭,一张结算单就够 个人原创100W+访问量博客:点击前往,查看更多 来源:ht ...

  8. jquery获取元素的索引_如何在jQuery中获取具有特定索引的元素

    jquery获取元素的索引 In this post, we are going to discuss how to get an element with a specific index. jQu ...

  9. mysql给用户建表权限_创建MySQL用户 赋予某指定库表的权限

    摘自: http://renxiangzyq.iteye.com/blog/763837 update ERROR 1364 (HY000): Field 'ssl_cipher' doesn't h ...

  10. 无法创建t的通用数组_创建通用数组的问题

    无法创建t的通用数组 在这篇文章中,我们将介绍一篇全面的文章,其中介绍了创建通用数组的问题. Java编程语言于2004年9月在Java 5.0" Tiger"发行版中添加了泛型. ...

最新文章

  1. java 单元测试inject_Mockito中@Mock与@InjectMock
  2. fetch 发送 AJAX请求
  3. JVM 分析工具概述
  4. spring框架三层架构_Spring框架架构
  5. 在过程中要正式批准可交付成果_干货!软考高项项目管理知识体系5大过程组47个过程...
  6. 实用、酷炫的可视化,你用10小时,同事用10分钟,差距在哪?
  7. 自己常用的PHP方法
  8. 2.3.14 Python 函数进阶-生成器
  9. Python在Linux地址已在使用,python在linux下的使用
  10. 装机——2021年底装机推荐,附9000元DIY介绍
  11. 海森矩阵(Hessian Matrix)与泰勒展开式
  12. 如何使用谷歌验证码 kaptcha,详细使用步骤
  13. 如何在Mac电脑中设置安全与隐私?如何加密应用?
  14. Linux 好书、经典书籍推荐
  15. 能自由转换格式的PDF软件
  16. [矩阵的QR分解系列四] QR(正交三角)分解
  17. R语言 - 集成开发环境IDE
  18. 图书信息管理系统(二)
  19. 清华出版计算机书籍相关资源全下载
  20. 笨笨对面向对象的理解

热门文章

  1. 【英语:基础进阶_原著扩展阅读】J6.原著阅读实战训练
  2. CVPR2020|3D目标检测算法推荐论文源码大盘点
  3. python-opencv第四期:threshold函数详解
  4. thinkpad T580加装内存条
  5. window申请ios证书步骤
  6. 如何使用WeKan管理您的工作
  7. 使用Arduino解码并发送433MHz RF无线射频信号
  8. vue---vue+elementUI完成注册及登陆
  9. C#更新word目录
  10. 阿里某程序员感慨:30岁阿里p7,很迷茫,40岁转行能做什么