`

数据库优化前基础准备

阅读更多
聚集、非聚集索引、唯一索引、复合索引、系统自建索引
2008-11-25 09:59
聚集与非聚集索引
摘自:http://hi.baidu.com/flyabout/blog/item/866505d1d9ed9ad3572c84a3.html

索引是在数据库表或者视图上创建的对象,目的是为了加快对表或视图的查询的速度

按照存储方式分为:聚集与非聚集索引
按照维护与管理索引角度分为:唯一索引、复合索引和系统自动创建的索引

索引的结构是由:根节点--->非叶节点--->非叶节点--->叶节点


1、聚集索引(只能建立一个):表中存储的数据按照索引的顺序存储,检索效率比普通索引高,但对数据新增/修改/删除的影响比较大
特点:
 
  (1) 一个表可以最多可以创建249个索引
  (2) 先建聚集索引才能创建非聚集索引
(3) 非聚集索引数据与索引不同序
(4) 数据与索引在不同位置
(5) 索引在叶节点上存储,在叶节点上有一个"指针"直接指向要查询的数据区域
(6) 数据不会根据索引键的顺序重新排列数据

 创建聚集索引的语法:
   create CLUSTERED INDEX idximpID ON EMP(empID)
2、非聚集索引(可以建立多个):不影响表中的数据存储顺序,检索效率比聚集索引低,对数据新增/修改/删除的影响很少
特点:
   (1) 无索引,数据无序
   (2) 有索引,数据与索引同序
   (3) 数据会根据索引键的顺序重新排列数据
   (4) 一个表只能有一个索引
   (5) 叶节点的指针指向的数据也在同一位置存储
语法:
create NONCLUSTERED INDEX idxempID on emp(empID)
3、惟一索引:惟一索引可以确保索引列不包含重复的值.
可以用多个列,但是索引可以确保索引列中每个值组合都是唯一的
姓   名
李   二
张   三
王   五
语法: create unique index idxempid on emp(姓,名)

4、复合索引:如果在两上以上的列上创建一个索引,则称为复合索引。
那么,不可能有两行的姓和名是重复的
语法:
create index indxfullname on addressbook(firstname,lastname)

5、系统自建的索引:在使用T_sql语句创建表的时候使用PRIMARY KEY或UNIQUE约束时,会在表上自动创建一个惟一索引
自动创建的索引是无法删除的
语法:
create table ABc
( empID int primary key,
   firstname varchar(50)UNIQUE,
   lastname   varchar(50)UNIQUE,
)
这样的结果就出来了三个索引,但只有一个聚集索引哦


6、创建索引的方法:
1、企业管理器中
(1)右击某个表,所有任务---管理索引,打开管理索引,单击“新建”就可以创建索引
(2)在设计表中进行设计表,管理索引/键
(3)在关系图中,添加表后右击关系图中的某个表,就有“索引/键”
(4)通过向导,数据库---创建索引向导
(5)通过T-SQL语句
2、能过“索引优化向导”来优化索引的向导,通过它可以决定选择哪些列做为索引列
 



实验的流程:
1、先创建一个表,然后查看一下他的占用资源情况及select * from 表
看一下排序
2、然后创建索引,在观看一下占用资源的情况,及排序情况,看看聚集与非聚集的排序是
  否用变化
 答案是:聚集的有变化,非聚集的排序与未创建索引之前一样
分享到:
评论

相关推荐

    数据库优化方法论

    #### 二、数据库优化的基础概念 数据库优化是指通过一系列的技术手段和策略来提高数据库系统的性能,包括但不限于提高查询速度、减少响应时间、提高系统稳定性和可用性等。优化的目的在于以最小的成本获得最大的...

    数据库基础的 课件

    9. **性能优化**:通过合理设计表结构、使用索引、查询优化、分区和分片等手段,可以显著提升数据库的性能。 10. **安全性**:数据库安全涉及到访问控制、权限管理、审计和加密等,确保数据不被未经授权的访问和...

    数据库技术基础重点内容笔记.pdf

    由于提供的文件内容信息有限,我将从《数据库技术基础重点内容笔记.pdf》这一标题和描述出发,来详细阐述数据库技术基础的重点知识点。由于实际可分析的内容部分主要是对同一内容的重复提及,这可能表明文件内容的...

    数据库实验 数据库系统环境搭建和基本操作.docx

    * SQL语句是数据库操作的基础,包括SELECT、INSERT、UPDATE、DELETE等语句。 * SQL语句的使用可以实现数据库的基本操作,如查询数据、插入数据、更新数据、删除数据等。 知识点4:数据库设计 * 数据库设计是指对...

    java及数据库性能优化

    1. **Java性能优化设计基础**: - **对象生成与大小调整**:尽量避免频繁创建新对象,可以使用`StringBuffer`替代`String`进行字符串拼接,减少内存碎片。使用静态变量以减少对象实例化。对已创建的对象尽量少做...

    数据库基础知识面试问答指南 - ACID特性和性能优化技巧

    适合人群:适用于有一定编程经验的技术开发者或从事IT工作的专业人士,特别是那些正在准备参加数据库方向的技术面试的人群。 使用场景及目标:主要作为备考工具书来复习巩固数据库的基础知识点;也可以作为一种日常...

    数据库系统基础高级篇(第五版)

    数据库系统是信息技术中的核心组成部分,尤其在大数据时代,其重要性更是不言而喻。《数据库系统基础高级篇(第...通过深入阅读和实践,可以提升在数据库设计、管理和优化方面的专业技能,为应对现代数据挑战做好准备。

    北大青鸟6.0课件S1C#语言和数据库技术基础1

    此外,课程还将讨论范式理论,帮助理解如何通过满足不同范式来优化数据库结构,减少数据冗余和异常。 最后,课程可能还会涉及数据库安全性、事务处理和备份恢复等高级主题,这些都是确保数据库稳定性和数据完整性的...

    数据库面试题(汇总所有的数据库面试题).zip

    这份"数据库面试题(汇总所有的数据库面试题).zip"压缩包显然包含了一系列与数据库相关的面试问题,旨在帮助求职者准备应对各种数据库面试挑战。以下是根据标题、描述以及可能的文件内容总结出的一些关键知识点: ...

    Sybase数据库安装优化手册

    《Sybase数据库安装优化...综上所述,《Sybase数据库安装优化手册》是一份全面的参考指南,涵盖了从基础安装到高级优化的各个方面,旨在帮助管理员和开发者更好地管理和维护Sybase数据库系统,提升系统的稳定性和性能。

    藏经阁-弹性计算架构、容量性能数据库优化,让双 11 有惊无险.pdf

    从早期的容量规划到性能压测、应用优化、数据库优化,再到扩容、应急预案准备、大促当天在线应急保障。容量规划中,我们首先要看的是整个的业务目标,业务目标里面是否有一些特殊的场景,比如秒杀的场景。性能压测中...

    数据库系列之基础篇1

    这篇文章旨在帮助读者扫盲数据库知识,适用于初学者和准备数据库面试的人。 1. **SQL**:SQL(Structured Query Language)是一种用于管理和操作关系型数据库的标准语言,其重要性和稳定性使其始终保持在编程语言...

    安装 oracle 数据库 10g 的基础知识

    【安装 Oracle 数据库 10g 的基础知识】 在安装 Oracle 数据库 10g 时,需要考虑多个方面,包括操作系统的选择与配置、硬件需求、软件安装和存储管理。以下是对这些关键知识点的详细说明: 1. **选择操作系统**: ...

    Oracle数据库性能优化的艺术 (文平) 高清PDF扫描版

    《oracle数据库性能优化的艺术》是资深数据库专家、unix系统专家、系统架构师近20年工作经验的结晶。 《oracle数据库性能优化的艺术》内容高屋建瓴,用辩证法中的系统化分析方法,不仅从硬件(服务器系统、存储系统...

    数据库ppt.zip

    “数据库系统基础讲义第17讲数据库物理存储.pdf”将介绍数据库的存储结构,包括数据页、索引、缓冲池等,以及如何通过存储过程和触发器优化数据库性能。 “数据库系统基础讲义第18讲数据库索引技术.pdf”可能是关键...

    VFP基础教程-数据库的创建和使用

    ### VFP基础教程-数据库的创建和使用 #### 数据库基本组成 - **数据库组成**:Visual FoxPro (VFP) 的数据库由一个或多个相互关联的数据表组成,此外还可以包含视图、到远程数据源的连接以及存储过程等元素。 - *...

    Oracle数据库基础知识讲义.pptx

    自1970年代以来,Oracle一直在数据库领域扮演着重要角色,不断更新和优化其产品以适应技术和市场的需求。 Oracle数据库的核心特性之一是其强大的可扩展性和高可用性。在Oracle 8中,它首次引入了对网络计算的支持;...

    bd_数据库基础.pdf

    本篇知识文档详细介绍了数据库的理论知识和基础概念,对于准备面试或者学习数据库系统的人来说是一个很好的学习材料。以下是对本篇文档内容的详细解读: ### 数据库理论知识 数据库系统是一个复杂的软件系统,它...

Global site tag (gtag.js) - Google Analytics