数据库中常见的“索引”是啥意思?有啥用途?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库中常见的“索引”是啥意思?有啥用途?相关的知识,希望对你有一定的参考价值。

越简单越好。让我一看旧明白

参考技术A 相当于书的目录,提高查询,更新,删除的速率 参考技术B 使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构,例如 employee 表的姓(lname)列。如果要按姓查找特定职员,与必须搜索表中的所有行相比,索引会帮助您更快地获得该信息。

索引提供指向存储在表的指定列中的数据值的指针,然后根据您指定的排序顺序对这些指针排序。数据库使用索引的方式与您使用书籍中的索引的方式很相似:它搜索索引以找到特定值,然后顺指针找到包含该值的行。

在数据库关系图中,您可以在选定表的“索引/键”属性页中创建、编辑或删除每个索引类型。当保存索引所附加到的表,或保存该表所在的关系图时,索引将保存在数据库中。有关详细信息,请参见创建索引。

注意;并非所有的数据库都以相同的方式使用索引。有关更多信息,请参见数据库服务器注意事项,或者查阅数据库文档。
作为通用规则,只有当经常查询索引列中的数据时,才需要在表上创建索引。索引占用磁盘空间,并且降低添加、删除和更新行的速度。在多数情况下,索引用于数据检索的速度优势大大超过它的。

索引列
可以基于数据库表中的单列或多列创建索引。多列索引使您可以区分其中一列可能有相同值的行。

如果经常同时搜索两列或多列或按两列或多列排序时,索引也很有帮助。例如,如果经常在同一查询中为姓和名两列设置判据,那么在这两列上创建多列索引将很有意义。

确定索引的有效性:

检查查询的 WHERE 和 JOIN 子句。在任一子句中包括的每一列都是索引可以选择的对象。
对新索引进行试验以检查它对运行查询性能的影响。
考虑已在表上创建的索引数量。最好避免在单个表上有很多索引。
检查已在表上创建的索引的定义。最好避免包含共享列的重叠索引。
检查某列中唯一数据值的数量,并将该数量与表中的行数进行比较。比较的结果就是该列的可选择性,这有助于确定该列是否适合建立索引,如果适合,确定索引的类型。
索引类型
根据数据库的功能,可以在数据库设计器中创建三种索引:唯一索引、主键索引和聚集索引。有关数据库所支持的索引功能的详细信息,请参见数据库文档。

提示:尽管唯一索引有助于定位信息,但为获得最佳性能结果,建议改用主键或唯一约束。
唯一索引
唯一索引是不允许其中任何两行具有相同索引值的索引。

当现有数据中存在重复的键值时,大多数数据库不允许将新创建的唯一索引与表一起保存。数据库还可能防止添加将在表中创建重复键值的新数据。例如,如果在 employee 表中职员的姓 (lname) 上创建了唯一索引,则任何两个员工都不能同姓。

主键索引

数据库表经常有一列或列组合,其值唯一标识表中的每一行。该列称为表的主键。

在数据库关系图中为表定义主键将自动创建主键索引,主键索引是唯一索引的特定类型。该索引要求主键中的每个值都唯一。当在查询中使用主键索引时,它还允许对数据的快速访问。

聚集索引

在聚集索引中,表中行的物理顺序与键值的逻辑(索引)顺序相同。一个表只能包含一个聚集索引。

如果某索引不是聚集索引,则表中行的物理顺序与键值的逻辑顺序不匹配。与非聚集索引相比,聚集索引通常提供更快的数据访问速度。

SQL语言,数据库基础电子资料:

SQL语法大全中文版
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=148128
SQL语言案头完全参考手册
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=146159
SQL - A Practical Introduction
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=148095
O'Reilly SQL Tuning
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=159156
O'Reilly The Art of SQL
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=163611
数据库综合资料库
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=146238
数据库设计指南
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=148082
Wrox Beginning Database Design
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=145206
SQL Puzzles and Answers
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=160834
SQL Queries for Mere Mortals
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=162978
SQL Puzzles and Answers
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=160834
Apress出版 The Berkeley DB Book
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=168290
数据库系统概论 浙江大学张军教授主讲(全32讲)
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=154299

MS SQL Server电子资料:

Transact-SQL Cookbook
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=163150
SQL Server 2005宝典
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=149644
Microsoft SQL Server 2005完全参考
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=152872
O'Reilly Learning SQL on SQL Server 2005
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=163464
Beginning SQL Server 2005 Programming
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=153216
Pro SQL Server 2005 High Availability
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=162981
Beginning SQL Server 2005 Administration
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=152863
SQL Server 2005 Unleashed
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=152874
Pro SQL Server 2005
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=152325
A Developer's Guide to SQL Server 2005
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=145565
Pro T-SQL 2005 Programmer's Guide
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=154245
Beginning Transact-SQL with SQL Server 2000 and 2005
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=152868
SQL Server 2005报表服务
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=148376
Wrox Professional SQL Server 2005 Programming
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=151270
Scaling Out SQL Server 2005权威指南
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=162785
Sql Server 2005 Performance Optimiztion and Tuning Handbood
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=165048
Microsoft SQL Server 2005编程傻瓜书
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=152864
Pro SQL Server 2005 Assemblies
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=151269
MS SQL Server 2005 Reporting Essentials
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=147862
SQL Server 2005工具箱内幕
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=152321
SQL Server 2005管理员手册
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=152347
SQL Server 2005工具箱内幕
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=152321
SQL Server 2005数据挖掘
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=148099
Pro SQL Server 2005 Service Broker
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=159656
Pro SQL Server 2005 Replication
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=160606
Sql server 2005的XML最佳实施策略
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=152278
Microsoft SQL Server Black Book
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=163457
MS SQL Server2000 宝典
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=145853
SQL Server 2000存储过程和XML编程
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=152873
SQL Server 2005高级数据分析视频教程系列
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=162737
SQL Server 2005盛宴系列视频 全52讲
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=151642

mysql电子资料:

MySQL宝典
http://bbs.topsage.com/dispbbs_122_159157_1.html
SQL for MySQL Developers
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=152862
MySQL教程
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=146824
Teach Yourself MySQL in 10 Minutes
http://bbs.topsage.com/dispbbs_122_174432_1.html
O'Reilly MySQL Pocket Reference 第二版 PDF
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=175014
MySQL 5 权威指南(第三版)
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=148867
MySQL培训经典教程
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=146795
MySQL Cookbook 第二版
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=175972
The Definitive Guide to MySQL
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=175382
O'Reilly MySQL Pocket Reference 第二版
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=175014
MySQL Essential Skills
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=146749
MySQL Administrators Guide
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=146580
MySQL权威指南 中文版+英文版
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=148870
MySQL 4.1.0 中文参考手册
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=148869
MySQL in a Nutshell
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=148868
Export MySQL
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=152865
MySQL and php from Scratch
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=152162

其他数据库电子资料:

SQLite权威指南
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=146072
Microsoft Access 2007初学者指南 2007年6月
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=147856
Microsoft Access 2007宝典
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=157078
Microsoft Office Access 2007 VBA宝典
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=157113
Wrox出版 Expert Access 2007 Programming
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=165951
Access 2007 窗体、报表和查询
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=160519
Microsoft Acces 2007数据分析
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=160656
Oracle Automatic Storage Management
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=166808
Pro Oracle Spatial for Oracle Database 11g
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=165942
Oracle 9i 数据库管理员指南
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=146230
Wrox Professional Oracle 8i Programming
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=163479
O'Reilly Oracle Security
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=160137
PL/SQL Study Guide
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=148096
Sybase实用教程
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=146235
PostgreSQL 对象关系数据库开发
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=159286
PostgreSQL 必备参考手册
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=159298
PostgreSQL 7 数据库开发指南
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=159302
PostgreSQL 8 for Windows 2007年3月最新出版
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=159310

Crystal Reports 10 完全参考
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=147099
Crystal Reports 10 水晶报表10傻瓜书
http://bbs.topsage.com/dispbbs.asp?boardID=122&ID=156454

win32 console application是啥意思,有啥用处,工作中啥行业能用到?

Win32 Application和Win32 Console Application
都是工作在32位Windows环境的程序。

其中Win32 Application
就是普通的常见的窗口应用程序,当然有的界面做得比较个性化,比如圆形的、不规则形状的……
它们都是所谓的GUI(Graphics User Interface图形用户接口),我们可以通过鼠标点击来完成控制。


Win32 Console Application(win32控制台应用程序)
往往是像MS-DOS窗口(XP中叫命令提示符)的样子出现,我们得用键盘输入各种命令来使用它;
或者叫CUI(Character User Interface字符用户接口)。追答

Win32 Console Application(win32控制台应用程序)往往是像MS-DOS窗口(XP中叫命令提示符)的样子出现,我们得用键盘输入各种命令来使用它,它与纯dos程序区别是:它是32位的;或者叫CUI(Character User Interface字符用户接口)。console程序以main()为入口,可以访问部分windows API函数,比如创建窗口、对话框等等。

参考技术A 控制台程序,一般用于c语言基础新建模板,IT行业

以上是关于数据库中常见的“索引”是啥意思?有啥用途?的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop是啥,具体有啥用呢?

Oracle 中的SID是啥意思?有啥作用?

c#中序列化是啥,怎么用,啥情况下用,不用有啥后果?

请问EBS的物流模块的杂收和杂发是啥意思,有啥用途?

matlab软件是啥软件?有啥用途

Java中的Cookie的意思和用途是啥?