VFP中如何建立双字段组合的候选索引 50

就是说假设有姓名和学科以及成绩3个字段,现在要建立由姓名和学科两个字段组成的候选索引。也就是说允许姓名重复,也允许学科重复,但是姓名+学科必须是唯一的,这个应该如何建立... 就是说假设有姓名和学科以及成绩3个字段,现在要建立由姓名和学科两个字段组成的候选索引。也就是说允许姓名重复,也允许学科重复,但是姓名+学科必须是唯一的,这个应该如何建立 展开
 我来答
匿名用户
2016-06-25
展开全部
例如你有一个 学生表。
字段包含 学号, 班级, 姓名,性别, 出生年月日。

你创建一个 组合索引 ( 班级, 姓名)
那么
SELECT * FROM 学生表 WHERE 班级='2010级3班' AND 姓名='张三' 将使用索引.
SELECT * FROM 学生表 WHERE 班级='2010级3班' 将使用索引 .
SELECT * FROM 学生表 WHERE 姓名='张三' 将不使用索引。

删除掉上面的索引
再创建两个 独立索引
索引1 ( 班级)
索引2 ( 姓名)

那么
SELECT * FROM 学生表 WHERE 班级='2010级3班' AND 姓名='张三' 将根据数据库的分析信息, 自动选择使用索引1或者索引2中的一个 (理论上会使用 索引2, 因为 姓名=张三的人少, 优先找到所有 姓名为 张三的人以后, 然后再从这些数据中, 找班级 = '2010级3班' 的
).

SELECT * FROM 学生表 WHERE 班级='2010级3班' 将使用索引1 .
SELECT * FROM 学生表 WHERE 姓名='张三' 将使用索引2。
追问
E....其实我的问题在于复合索引里的字段是数值型的,刚才在网上找到了答案,数值型的复合索引不能用+这样的方式,要用str()+str()的方式。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式