索引的初步了解
一、什么是索引?
索引是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。数据库使用索引时,首先从索引中找到要查找数据对应的特定值(相当于指针),然后根据这个特定值找到所要数据所在的行。这可以类比从字典查询信息的方法。如:要从字典查找单词hello的意思、发音等信息的时候,首先从字典目录(索引)中找到以h开头的所有单词并从中找到hello单词(指针),然后顺着后面的页码去查找该单词详细的信息(即我们所要的数据)。
二、索引有哪几种?
根据数据库的功能,可以在数据库设计器中创建三种索引:唯一索引、主键索引和聚集索引。(有关数据库所支持的索引功能的详细信息,请参见数据库文档。)提示:尽管唯一索引有助于定位信息,但为获得最佳性能结果,建议改用主键或唯一约束。
1.唯一索引
唯一索引是不允许其中任何两行具有相同索引值的索引。
当现有数据中存在重复的键值时,大多数数据库不允许将新创建的唯一索引与表一起保存。数据库还可能防止添加将在表中创建重复键值的新数据。例如,如果在 employee 表中职员的姓 (lname) 上创建了唯一索引,则任何两个员工都不能同姓。
2.主键索引
数据库表经常有一列或列组合,其值唯一标识表中的每一行。该列称为表的主键。
在数据库关系图中为表定义主键将自动创建主键索引,主键索引是唯一索引的特定类型。该索引要求主键中的每个值都唯一。当在查询中使用主键索引时,它还允许对数据的快速访问。
3.聚集索引
在聚集索引中,表中行的物理顺序与键值的逻辑(索引)顺序相同。一个表只能包含一个聚集索引。如果某索引不是聚集索引,则表中行的物理顺序与键值的逻辑顺序不匹配。与非聚集索引相比,聚集索引通常提供更快的数据访问速度。
三、索引的缺点.
首先,索引要占用磁盘空间。通常情况下,这个问题不是很突出。但是,如果你创建每一种可能列组合的索引,索引文件体积的增长速度将远远超过数据文件。如果你有一个很大的表,索引文件的大小可能达到操作系统允许的最大文件限制。
第二,对于需要写入数据的操作,比如 DELETE、UPDATE以及INSERT操作,索引会降低它们的速度。这是因为MySQL不仅要把改动数据写入数据文件,而且它还要把这些改动写入索 引文件。
四、索引的建法.(因为还没实现过,待续)
----------->BTree、HashTree、各种索引的详细学习、特点、用法、什么是聚集索引...?
分享到:
相关推荐
数据库优化 177<br>8.1 索引的使用 178<br>8.1.1索引对单个表查询的影响 178<br>8.1.2索引对多个表查询的影响 180<br>8.1.3多列索引对查询的影响 181<br>8.1.4索引的作用 182<br>8.1.5 索引的弊端 182<br>8.1.6 选择...
对常用Oracle方案对象进行操作<br/>4-1 方案对象空间管理<br/>4-2 分区表和分区索引<br/>4-3 表<br/>4-4 索引<br/>4-5 视图<br/>4-6 同义词和序列<br/>第5章 实例和数据库的启动与关闭<br/>第6章 Oracle网络服务<br/...
DB2 173<br>6.3.1 进行安装 174<br>6.3.2 检验安装 180<br>6.4 配置Control Center 182<br>6.5 安装DB2客户机 184<br>6.6 配置DB2客户机与DB2服务器通信 188<br>6.7 小结 194<br>6.8 常见问答 195<br>第7章 在Linux...
对常用Oracle方案对象进行操作<br/>4-1 方案对象空间管理<br/>4-2 分区表和分区索引<br/>4-3 表<br/>4-4 索引<br/>4-5 视图<br/>4-6 同义词和序列<br/>第5章 实例和数据库的启动与关闭<br/>第6章 Oracle网络服务<br/...
对常用Oracle方案对象进行操作<br/>4-1 方案对象空间管理<br/>4-2 分区表和分区索引<br/>4-3 表<br/>4-4 索引<br/>4-5 视图<br/>4-6 同义词和序列<br/>第5章 实例和数据库的启动与关闭<br/>第6章 Oracle网络服务<br/...
对常用Oracle方案对象进行操作<br/>4-1 方案对象空间管理<br/>4-2 分区表和分区索引<br/>4-3 表<br/>4-4 索引<br/>4-5 视图<br/>4-6 同义词和序列<br/>第5章 实例和数据库的启动与关闭<br/>第6章 Oracle网络服务<br/...
数据库优化 177<br>8.1 索引的使用 178<br>8.1.1索引对单个表查询的影响 178<br>8.1.2索引对多个表查询的影响 180<br>8.1.3多列索引对查询的影响 181<br>8.1.4索引的作用 182<br>8.1.5 索引的弊端 182<br>8.1.6 选择...
26<br>3.4 SQL Server的数据库对象 26<br>3.4.1 表 26<br>3.4.2 视图 27<br>3.4.3 索引 28<br>3.4.4 主键 28<br>3.4.5 外键 28<br>3.4.6 存储过程 28<br>3.4.7 触发器 30<br>3.4.8 数据类型 30<br>3.4.9 约束 30<br>...
39<br>4.1.4 设置启动选项 40<br>4.1.5 查询/代码编辑器 41<br>4.1.6 使用模板资源管理器、解决方案、脚本项目 42<br>4.2 使用SQL Server Management Studio设计数据库 43<br>4.2.1 创建数据库 44<br>4.2.2 附加...
<br> 2 jcs学习笔记 <br> 3 关于Hibernate的Cache问题 <br> 4 用缓冲技术提高JSP应用的性能和稳定性 <br> 5 SwarmCache入门 <br><br> <br> <br>源代码研究<br> 1 Jive中的全局配置 <br> 2 Jive源代码情景分析-index....
477<br>23.2.3 使用T-SQL全文数据定义语言 478<br>23.2.4 使用T-SQL创建全文索引的示例 482<br>23.2.5 从数据表中删除全文索引 484<br>23.2.6 从数据库中删除全文目录 484<br>23.3 使用全文搜索 484<br>23.3.1 ...
<br> 第一课:Viusal FoxPro 6.0入门指南。 <br> 第二课:表和索引。 <br> 第三课:向导。 <br> 第四课:将表加入数据库。 <br> 第五课:建立视图。 <br> 第六课:建立查询。 <br> 第七课:设计报表和标签。...
精选了其中的 60 个最佳技巧,并把这些技巧编写成了本文,为了方便索引其内容划分为 5 个部分:<br>第 1 部分 - 设计数据库之前<br>这一部分罗列了 12 个基本技巧,包括命名规范和明确业务需求等。 <br>第 2 部分 - ...
<br><br>已包含技术: <br>(1)数字索引分页算法,上下页分页算法(这个算法是目前所有分页中效率最高的)。 <br>(2)缓存技术,成熟的TxtCache技术,提高系统性能。 <br>(3)用户身份验证技术,Session + Cookie 双重...
RubyonRails九日学习计划(含相关软件及书籍)时间 内容 目的<br>第一天 学习oracle 基本工具掌握 plsql ,sql语言,范式,索引,数据库安全,数据备份,导入导出。 熟练掌握SQL语言<br>第二天 1. ruby 语言历史和...
1、MySQL安全性指南 <br/>2、MySQL查询优化讲座-查询优化器 <br/>3、MySQL查询优化讲座-使用索引 <br/>4、MySQL查询优化讲座-数据类型与效率 <br/>5、MySQL查询优化讲座之调度和锁定 <br/>6、MySQL 5.0 新特性...
作为企业级大型、通用对象关系型数据库管理系统,神通数据库为用户提供的功能包括: • 支持丰富的数据类型 神通数据库所支持的数据类型包括:字符串类型、位串类型、精确数值类型、布尔型、近似数值类型、 日期类型...
</TITLE> </HEAD> <BODY> <H1> First PHP page </H1> <HR> <? // Single line C++ style comment /* printing the message */ echo "Hello World!"; # Unix style single line comment ?> </BODY> </HTML> 2.4 数据...
书在我空间前面有,自己找吧<br>Inside C#:C#编程从入门到精通(本版CD) <br>作者:丁鹏 编写 出版时间:2002年03月 <br>本书既为入门者提供了简单教程,同时也为高级编程人员提供了大量的例程。由3部分组成:第一部分...
db.createCollection(name, {capped: <Boolean>, autoIndexId: <Boolean>, size: <number>, max <number>}) 参数说明 name: 要创建的集合的名称 options: 可选参数,指定有关内存大小及索引的选项 options参数说明 ...