标题:如何写索引,让查询速度快? 是sql语言
只看楼主
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用yytx11在2017-9-9 14:23:05的发言:

就是在SQL中查询,是不需要事先做索引的。谢谢

话不能说绝,一切从实际出发。
个人认为,实际应用中索引是无处不在的。
对于一些变动不大、相对固定的数据,如代码库、字典库,这类数据可以在数据增删改时打开索引同时自动维护索引。
对于一些经常变动,一次变动的数据记录多,这类数据可以在数据增删改时不打开索引,等数据记录处理完毕后,定时或适当时候(空闲时)自动维护索引。
对于使用临时索引,因临时创建索引要耗费时间,特别是处理大量数据记录的时候,这时要考虑是否有必要使用索引,要视实际情况采用怎样的命令代码来处理,从而获取更高的运行效率。
如:
Create Table TestTable (pk I Autoinc, Sometext C(20))
FOR i=1 TO 100000
Insert Into TestTable (Sometext) Values ("One")
Insert Into TestTable (Sometext) Values ("Two")
Insert Into TestTable (Sometext) Values ("Three")
ENDFOR
t=SECONDS()
Select TestTable
Index on Upper(Sometext) tag Sometext
Set Order To
? "建临时索引耗时:", SECONDS() - t
t=SECONDS()
Select Sometext, pk From TestTable Where Upper(Sometext) = "ONE" into cursor crsResult
? "使用索引耗时:", SECONDS() - t
Select TestTable
DELETE TAG ALL
t=SECONDS()
Select Sometext, pk From TestTable Where Upper(Sometext) = "ONE" into cursor crsResult
? "不使用索引耗时:", SECONDS() - t




2017-09-10 05:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-480573-1-1.html




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

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