| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 579 人关注过本帖
标题:索引漫谈
取消只看楼主 加入收藏
vfp123456
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-7-5
收藏
 问题点数:0 回复次数:0 
索引漫谈
索引漫谈
索引是我们常用的数据基本操作,下面谈一谈索引:
VFP对复合索引文件提供了四种类型:
主索引、候选索引、唯一索引和普通索引 。
(1)主索引:主索引仅用于数据库表,自由表没有主索引。一个表只能创建一个主索引。它不包含Null值或重复值。
(2)候选索引:是可以作主关键字的索引,它不包含Null值或重复值。在数据表和自由表中均可以为每个表建立多个候选索引。
(3)普通索引:可以用来对记录排序和搜索记录,它不强迫记录中的数据具有唯一性。在一个表中可以有多个普通索引。
选择合适的索引类型可以以下列准则作为依据:
1、如果需要排序记录,以便显示、查询或打印,可以使用普通索引、候选索引或主索引。
2、如果要在字段中控制重复值的输入并对记录排序,则对数据表可以使用主索引或候选索引,对自由表可以使用候选索引。
3、如果准备设置关系,则可以依据表在关系中所起的作用来分别使用普通索引、主索引或候选索引。
【注意】在命令窗口是用命令创建索引后,该索引立即自动成为主控索引。而在表设计器是创建索引后,该索引不能立即自动成为主控索引,需要用命令SET ORDER TO 设置。
对于新手来说,比较难的是如何创建符合要求的索引,或者说是如何写出符合要求的索引表达式,下面用实例进行讲解。
设有一个表SB.dbf (名称 C6,启用日期 D8,价格 N9,2,类别 L1 )
1、 按启用日期索引,启用日期相同时按价格索引。
INDEX ON DTOC(启用日期)+ALLTRIM(STR(价格)) TAG SB1
2、 按启用日期索引,启用日期相同时按价格降序索引
INDEX ON DTOC(启用日期)+ALLTRIM(STR(10000000-价格)) TAG SB2
3、 按设备类别排列,类别相同时按名称排列
INDEX ON IIF(类别,A,B)+ALLTRIM(名称) TAG SB3
4、 按设备类别排列,类别相同时按名称降序排列
INDEX ON IIF(类别,B,A)+ALLTRIM(名称)DESC TAG SB4
5、 按名称降序排列,名称相同时按启用日期降序排列
INDEX ON 名称+DTOC(启用日期)DESC TAG SB5
6、 按名称降序排列,名称相同时按启用日期升序排列
INDEX ON 名称+ALLTRIM(STR(DATE()-(启用日期))DESC TAG SB6
7、 按设备类别排列,类别相同时按价格排列
INDEX ON IIF(类别,20000000,10000000)-价格 TAG SB7
8、 按设备类别排列,类别相同时按价格降序排列
INDEX ON IIF(类别,10000000,20000000)-价格 DESC TAG SB8
搜索更多相关主题的帖子: 索引 漫谈 
2006-07-05 09:44
快速回复:索引漫谈
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033767 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved