| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2916 人关注过本帖
标题:如何写索引,让查询速度快? 是sql语言
只看楼主 加入收藏
yytx11
Rank: 1
等 级:新手上路
帖 子:134
专家分:0
注 册:2017-8-12
结帖率:68.18%
收藏
已结贴  问题点数:10 回复次数:10 
如何写索引,让查询速度快? 是sql语言
图片附件: 游客没有浏览图片的权限,请 登录注册


比如按名称索引
搜索更多相关主题的帖子: 索引 查询 速度 sql 语言 
2017-09-09 11:34
yytx11
Rank: 1
等 级:新手上路
帖 子:134
专家分:0
注 册:2017-8-12
收藏
得分:0 
按厂家索引,供应商,名称,商品名,各个索引还是怎么做?这四个字段的记录都有重复。
2017-09-09 11:47
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:5 
在 SQL 命令中,Visual FoxPro 决定需要什么来优化一个查询,并为你做这件事。你不需要打开表或索引。如果 SQL 确定它需要索引,它会为自己创建一个临时索引。
2017-09-09 12:13
yytx11
Rank: 1
等 级:新手上路
帖 子:134
专家分:0
注 册:2017-8-12
收藏
得分:0 
回复 3楼 吹水佬
你的意思是,我这个小程序,里面不需要改动 了,是吗
就是不需要增加索引命令了吗
2017-09-09 12:47
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:0 
以下是引用yytx11在2017-9-9 12:47:43的发言:

你的意思是,我这个小程序,里面不需要改动 了,是吗
就是不需要增加索引命令了吗

开头就是“在 SQL 命令中”,如果不是用 SQL 命令呢?就那么简单。
2017-09-09 14:03
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:3 
查询条件是:厂家,供应商,名称,商品名
如果是标准的SQL,如MSSQL,就要做5个索引
1,分别用"厂家,供应商,名称,商品名"做4个单独的索引
2,用"厂家,供应商,名称,商品名"4个名称,一起做个复合索引.
但在VFP中,我就不知道是不是也这样的

2017-09-09 14:22
yytx11
Rank: 1
等 级:新手上路
帖 子:134
专家分:0
注 册:2017-8-12
收藏
得分:0 
回复 5楼 吹水佬
就是在SQL中查询,是不需要事先做索引的。谢谢
2017-09-09 14:23
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
因为你查询条件是动态的,当查询条件只有1个时,他就使用单独的索引,但当查询条件2个以上时,就使用复合索引
2017-09-09 14:24
yytx11
Rank: 1
等 级:新手上路
帖 子:134
专家分:0
注 册:2017-8-12
收藏
得分:0 
回复 8楼 mywisdom88
嗯嗯。SQL确实灵活。
2017-09-09 14:26
xinjie
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:19
帖 子:274
专家分:520
注 册:2007-8-11
收藏
得分:2 
谁有兴趣执行下面的代码?
程序代码:
Clear

Set Delete on && 更改此设置,再执行一次看看结果 :)
Set Exact Off
Set Ansi Off

Create Table TestTable (pk I Autoinc, Sometext C(20))
Insert Into TestTable (Sometext) Values ("One")
Insert Into TestTable (Sometext) Values ("Two")
Insert Into TestTable (Sometext) Values ("Three")

= Sys(3054,1)

Select Sometext, pk From TestTable Where Upper(Sometext) = "ONE" into cursor crsResult
?

Select TestTable
Index on Upper(Sometext) tag Sometext
Set Order To

Select Sometext, pk From TestTable Where Upper(Sometext) = "ONE" into cursor crsResult
?

Select TestTable

Index on Deleted() tag deleted
Set Order To

Select Sometext, pk From TestTable Where Upper(Sometext) = "ONE" into cursor crsResult

2017-09-10 00:52
快速回复:如何写索引,让查询速度快? 是sql语言
数据加载中...
 
   



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

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