索引的初步了解
一、什么是索引?
索引是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。数据库使用索引时,首先从索引中找到要查找数据对应的特定值(相当于指针),然后根据这个特定值找到所要数据所在的行。这可以类比从字典查询信息的方法。如:要从字典查找单词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....
本资源《Oracle 10g数据库入门与实践》的源代码提供了丰富的学习材料,帮助初学者深入理解Oracle数据库的原理和操作,同时也为有经验的开发者提供实践参考。 在Oracle 10g中,有几个核心概念和技术值得我们深入探讨...
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> 第七课:设计报表和标签。...
<br><br>已包含技术: <br>(1)数字索引分页算法,上下页分页算法(这个算法是目前所有分页中效率最高的)。 <br>(2)缓存技术,成熟的TxtCache技术,提高系统性能。 <br>(3)用户身份验证技术,Session + Cookie 双重...
5. **列表类型**:掌握无序列表(<ul>,<li>)和有序列表(<ol>,<li>)的创建,以及定义列表(<dl>,<dt>,<dd>)的使用。 6. **HTML5新增元素**:了解HTML5引入的新元素,如<header>,<footer>,<nav>,<section>...
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 新特性...
10. **索引创建**:`db.<collection>.createIndex(<key-value pair>, <options>)`创建索引,例如`db.users.createIndex({name: 1})`创建升序的"name"索引。 11. **查看索引**:`db.<collection>.getIndexes()`列出...
此外,了解达梦数据库的特性和最佳实践,例如索引优化、SQL语句优化等,也有助于提升系统性能。 通过以上步骤,你就能在IntelliJ IDEA中成功地使用Spring Boot集成达梦数据库,并进行高效的数据操作。在实践中不断...
CREATE DATABASE <数据库名称> ON <路径> ALIAS <别名> USING CODESET <字符集> TERRITORY <国家/地区> COLLATE USING SYSTEM DFT_EXTENT_SZ <默认扩展大小> ``` 例如,创建名为`DB2_GCB`的数据库,并设置其存储位置...