一:索引基本概念

记录的顺序 :

物理顺序:即表中记录的存储顺序。用记录号表示。

逻辑顺序:表打开后被使用时记录的处理顺序。

索 引:

指按表文件中某个关键字段或表达式建立记录的逻辑顺序。它是由一系列记录号组成的一个列表,提供对数据的快速访问。索引不改变表中记录的物理顺序。表文件中的记录被修改或删除时,索引文件可自动更新。

索引关键字(索引表达式):用来建立索引的一个字段或字段表达式。

注意:

①用多个字段建立索引表达式时,表达式的计算结果将影响索引的结果;

②不同类型字段构成一个表达式时,必须转换数据类型。

索引标识(索引名):

即索引关键字的名称。必须以下划线、字母或汉字开头,且不可超过10个字。

索引类型:主索引、候选索引、普通索引、唯一索引。

主索引:

组成主索引关键字的字段或表达式,在表的所有记录中不能有重复的值。主索引只适用于数据库表的结构复合索引中。自由表中不可以建立主索引;数据库中的每个表可以且只能建立一个主索引。

候选索引:

在指定的关键字段或表达式中不允许有重复值的索引。在数据库表和自由表中均可为每个表建立多个候选索引。

普通索引:

也可以决定记录的处理顺序,但是允许字段中出现重复值。在一个表中可以加入多个普通索引。

唯一索引:

参加索引的关键字段或表达式在表中可以有重复值,但在索引对照表中,具有重复值的记录仅存储其中的第一个。

二:索引的作用

用途

采用的索引类型

排序记录,以便显示、查询或打印使用普通索引、候选索引或主索引在字段中控制重复值的输入并对记录排序对数据库表使用主索引或候选索引,对自由表使用候选索引准备设置表关系依据表在关系中所起的作用,使用普通索引、主索引或候选索引

三:索引文件的种类

索引文件种类

特征

关键字数目

限制

结构复合索引文件

.CDX

使用和表文件名相同的基本名,随表的打开自动打开。可以看成表结构的一部分。多关键字表达式,称为标识。有效表达式限制在 240 个字符之内。

非结构复合索引文件

.CDX

必须明确地打开,使用和表名不同的基本名。其中不能创建主索引多关键字表达式,称为标识。有效表达式限制在 符之240 个字内。

独立索引文件

.IDX

必须明确地打开,文件的基本名由用户定义。一般作为临时索引文件。单关键字表达式。有效表达式限制在 100 个字符之内。

结构复合索引文件(扩展名为.CDX)的特点:

.在创建索引标识时自动创建。

.在打开表时自动打开。

.在同一索引文件中能包含多个排序方案,或索引关键字。

.在添加、更改或删除记录时自动维护。

四:创建结构复合索引

VFP中创建索引文件有两种方式:表设计器方式和命令方式。

①表设计器方式

打开表文件 →从显示菜单中选择表设计器 → 在表设计器中单击索引 → 输入索引名并选择索引类型 → 选择索引的方向(按升序或降序排列记录) → 在表达式框中输入作为排序依据的索引关键字 → 在筛选框中输入筛选表达式 → 单击确定,完毕。

②命令方式

命令

功能

INDEX ON TAG [FOR 条件 ] [ASCENDING | DESCENDING] [CANDIDATE | UNIQUE]

用INDEX ON 命令建立一个索引文件ALTER TABLE ADD PRIMARY KEY TAG

用SQL命令创建主索引

ALTER TABLE ADD UNIQUE TAG

用SQL命令创建候选索引

注意:

①备注型字段和通用型字段不能作为索引关键字段;

②不要建立无用的索引,以免降低系统性能;

③及时清理已无用索引标识,提高系统效率。

④在复合索引的多个索引中,某一时刻只有一个索引对表起作用。

五:索引的修改和删除

修改: 打开表设计器,在索引对话框中进行所需修改;

或用命令重新建立一个相同标识名而索引表达式不同的索引。

删除: 打开表设计器,在索引对话框中删除不需要的索引标识即可;

或 用命令: DELETE TAG ALL | 索引标识1 [, 索引标识2 ] …

删除不需要的索引标识,ALL表示全部标识。

六:索引的使用

功能

命令格式

打开表的同时指定主控索引 USE ORDER 为已打开的表确定主控索引 SET ORDER TO [ASCENDING | DESCENDING] ]搜索某张已建立索引的表 FIND 搜索表中首次出现的记录 SEEK [ ] SEEK

vfp access mysql具体_详细介绍Visual FoxPro数据表的索引相关推荐

  1. 如何重新创建mysql数据库_重新创建数据库与数据表《 MySQL 基础 》

    前面我们介绍的一些 sql 的语句是 sql 的 ddl 的部分,也就是定义数据结构用的 ... 在接下来的视频里,我们会去看一下 sql 的另一个部分,也就是 dml ,关于数据的操作的部分 ... ...

  2. mysql握手_详细介绍mysql 协议的服务端握手包及对其解析

    概况 mysql客户端登陆到mysql服务端需要一个交互的过程,这里先看服务端给客户端发送的初始握手包.如下,client通过socket连接到server指定的端口后,server将往client发 ...

  3. mysql geo 函数_【后端开发】地理位置geo处理之mysql函数的详细介绍(附代码)

    本篇文章给大家带来的内容是关于地理位置geo处理之mysql函数的详细介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 目前越来越多的业务都会基于LBS,附近的人,外卖位 ...

  4. mysql geo_地理位置geo处理之mysql函数的详细介绍(附代码)

    本篇文章给大家带来的内容是关于地理位置geo处理之mysql函数的详细介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 目前越来越多的业务都会基于LBS,附近的人,外卖位 ...

  5. 理解索引:MySQL执行计划详细介绍

    为什么80%的码农都做不了架构师?>>>    最近有个需求,要修改现有存储结构,涉及查询条件和查询效率的考量,看了几篇索引和HBase相关的文章,回忆了相关知识,结合项目需求,说说 ...

  6. jdbc 3种获得mysql插入数据的自增字段值的方法_【JDBC】向数据表插入数据时,自动获取生成的主键...

    数据表设计时,一般都会有一个主键(Key)(自己指定),有时也可以使用联合主键: 有许多数据库提供了隐藏列为表中的每行记录分配一个唯一键值(如:rowid): 当我们没有指定哪一列作为主键key时,数 ...

  7. mysql设置外键并一键生成数据表关系图

    文章目录 1.概念 2.理解 3.添加外键时需要注意的规则 4.navicat for mysql中设置外键 5.数据表关系图的创建 1.概念 主键是能确定一条记录的唯一标识. 外键用于与另一张表的关 ...

  8. 在MySql数据库中创建数据库dbjava,数据表book,字段包括bno,bname,price,count(编号、书名、单价、数量)。 利用JDBC连接数据库dbjava,实现数据表的增删 改查

    题目 1.在MySql数据库中创建数据库dbjava,数据表book,字段包括bno,bname,price,count(编号.书名.单价.数量). 2.利用JDBC连接数据库dbjava,实现数据表 ...

  9. B-Tree/B+-Tree/二叉树/红黑树/Hash表/MySQL底层到底用哪个数据表建立索引做快速查找?

    B-Tree/B+-Tree/二叉树/红黑树/Hash表/MySQL底层到底用哪个数据表建立索引做快速查找? ~~B-Tree~~ ==B+Tree== ~~二叉树(Binary Search Tre ...

  10. mysql下备份所有的数据库和数据表

    shell脚本实现 mysql下备份所有的数据库和数据表 要求:(1)mysql下的数据库的表要以table_name.sql备份保存 (2)保存在当前目录下,并以当天时间命名 #!/bin/bash ...

最新文章

  1. 浅谈WPF的VisualBrush
  2. R语言关联规则挖掘数据集预览、分析、筛选:项目数的分布形态(分位数、密度图)、itemFrequency函数统计每一项目在所有事务中出现的次数、最常发生的项目、数据筛选(交易的集合项目大于1)
  3. 漫谈php框架之中间件
  4. bzoj4385 POJ2015 Wilcze doły
  5. 006-spring cloud gateway-GatewayAutoConfiguration核心配置-GatewayProperties初始化加载、Route初始化加载...
  6. I.MX6 Android 5.1 回到 Android 4.2 emmc 启动
  7. Faster RCNN参数详解
  8. sklearn自学指南(part50)--独立成分分析(ICA)
  9. 在Docker中运行asp.net core 跨平台应用程序
  10. Redhat 7 Web服务器配置
  11. zabbix被监控端口的简单部署
  12. CPU+GPU异构集群搭建的总结说明
  13. 实部和虚部高斯变量瑞利衰落matlab,瑞利衰落信道的matlab仿真.doc
  14. 如何优化Web网站性能?
  15. 战胜25名医生:AI真能成为医疗界的“擂主”?
  16. 单片机控制无线传输模块nRF905之模块化编程
  17. 加速求解两个矩阵任意两行之间的pearson相关性
  18. 什么是Alpha通道?
  19. Python网络爬虫反爬破解策略实战
  20. VMware虚拟机三种网络模式详解与配置

热门文章

  1. [转帖]组织机构、职务职称英文译法
  2. PMP每日一练 | 考试不迷路-5.13
  3. python qq空间留言批量删除_易语言实现QQ空间留言批量删除的代码
  4. QT设置按钮QPushButton上图片加文字
  5. 家庭局域网_分析 | 如何查询局域网内在用的IP地址?
  6. 运维工程师从月薪 5K 到 50K,中间都经历了什么?
  7. [Netlist29-358] Reg ‘Counter[7]‘ of type ‘FDCPE’ cannot be timed accurately. Hardwarebehavior may be
  8. 计算机黑屏风扇异响,电脑开机黑屏主机风扇一直响
  9. composer 与php autoload,命名空间
  10. 解决QQ邮箱接收不到Stream邮件问题