索引 (Index) 可以帮助我们从表格中快速地找到需要的资料。举例来说,假设我们要在一本园艺书中找如何种植青椒的讯息。若这本书没有索引的话,那我们是必须要从头开始读,直到我们找到有关种直青椒的地方为止。若这本书有索引的话,我们就可以先去索引找出种植青椒的资讯是在哪一页,然后直接到那一页去阅读。很明显地,运用索引是一种有效且省时的方式。

从资料库表格中寻找资料也是同样的原理。如果一个表格没有索引的话,资料库系统就需要将整个表格的资料读出 (这个过程叫做'table scan')。若有适当的索引存在,资料库系统就可以先由这个索引去找出需要的资料是在表格的什么地方,然后直接去那些地方抓资料。这样子速度就快多了。

因此,在表格上建立索引是一件有利于系统效率的事。一个索引可以涵盖一或多个栏位。建立索引的语法如下:

CREATE INDEX "INDEX_NAME" ON "TABLE_NAME" (COLUMN_NAME);

现在假设我们有以下这个表格,

Customer 表格

栏位名称 资料种类
First_Name char(50)
Last_Name char(50)
Address char(50)
City char(50)
Country char(25)
Birth_Date datetime

若我們要在 Last_Name 這個欄位上建一個索引,我們就打入以下的指令,

CREATE INDEX IDX_CUSTOMER_LAST_NAME
ON Customer (Last_Name);

若我们要在 Last_Name 这个栏位上建一个索引,我们就打入以下的指令,

CREATE INDEX IDX_CUSTOMER_LOCATION
ON Customer (City, Country);

索引的命名并没有一个固定的方式。通常会用的方式是在名称前加一个字首,例如 "IDX_" ,来避免与资料库中的其他物件混淆。另外,在索引名之内包括表格名及栏位名也是一个好的方式。

请读者注意,每个资料库会有它本身的 CREATE INDEX 语法,而不同资料库的语法会有不同。因此,在下指令前,请先由资料库使用手册中确认正确的语法。

Linux实测如下:

最新文章

  1. appserv 安装php的memcache扩展。
  2. zip命令的基本用法
  3. ab中文手册
  4. PHPSTORM 10.0.3 --PHP Interpreter is not configured
  5. 使用英文版eclipse保存代码,出现some characters cannot be mapped using "Cp1251" character encoding.
  6. Testing - FURPS模型
  7. [HDOJ5445]Food Problem(优先队列优化多重背包)
  8. Spring AOP进行日志记录,管理
  9. 基于Visual Studio 2010 阐述C#4个特性
  10. C# Word转为多种格式文件(Word转XPS/SVG/EMF/EPUB/TIFF)
  11. .NET中如何深度判断2个对象相等
  12. 浅析Android Dialog中setContentView()方法
  13. [Android] Android ViewPager 中加载 Fragment的两种方式 方式(一)
  14. 树·二叉查找树ADT(二叉搜索树/排序树)
  15. python-反射案例讲解
  16. Multi-View Region Adaptive Multi-temporal DMM and RGB Action Recognition
  17. GHOST分区丢失只剩C盘
  18. 测试开发之前端——No4.HTML5中的事件属性
  19. cookie、sesion
  20. jquery validate强大的jquery表单验证插件

热门文章

  1. 遍历父视图上的button
  2. UVA10199- Tourist Guide(割点)
  3. linux下Mysql 的安装、配置、数据导入导出
  4. 实现android4.4新特性:沉浸式状态栏
  5. sql 成绩表 case then
  6. win7系统64位plsql的设置
  7. Oracle数据类型与.NET中的对应关系(转)
  8. CodeForces 698A - Vacations (Codeforces Round #363 (Div. 2))
  9. S - 骨牌铺方格(第二季水)
  10. python时间函数