以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [分享]数据库索引的一点资料  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=62520)

--  作者:Gryvip
--  发布时间:2015/1/3 17:24:00
--  [分享]数据库索引的一点资料
前几天我在论坛发了一个求助帖,是关注加载数据速度问题的,在此多谢飞飞、LSY、游、逛逛几位关注帮助我的学友版主。


发现索引对数据的查询速度影响很大,特在网上搜索了一点相关的说明,分享给大伙:

当你有大量数据的话,索引就起作用了 当你有几百万的数据的话,你要按某个条件提取数据,没有索引的话,查询的时候会遍历整张表,这时候你的索引就起作用了 假设你想找到本书中的某一个句子。你可以一页一页地逐页搜索,但这会花很多时间。而通过使用本书的索引,你可以很快地找到你要搜索的主题。 表的索引与附在一本书后面的索引非常相似。它可以极大地提高查询的速度。对一个较大的表来说,通过加索引,一个通常要花费几个小时来完成的查询只要几分钟就可以完成。
索引有如阅读时的书签,因此适当的索引可以更方便进行查询。但太多索引的话,也会影响查询的进行。就好比书的每一页都夹上一页书签,跟不夹并没什么不同。

因此我们要知道索引的建立及删除:


     下面的语句在Tab1Date列上建立可重复索引

     Create Index iDate ON Tab1 ([Date]);

     完成后ACCESS中字段Date索引属性显示为 - (有重复).

 

     下面的语句在Tab1Name列上建立不可重复索引

     Create Unique Index iName ON Tab1 (Name);

     完成后ACCESS中字段Name索引属性显示为 - (无重复).

 

     下面的语句删除刚才建立的两个索引

     Drop Index iDate ON Tab1;

     Drop Index iName ON Tab1; 



语句要通过SQLCommand使用,如:建立(有重复的)索引

Dim cmd As New SQLCommand
cmd.ConnectionName = “数据源名称”  
cmd.CommandText = "Create Index iDate ON 表名称 ([列名称])"
cmd.ExecuteNonQuery()


为免误导大伙,请各位前辈给予指正,补充,谢谢。

[此贴子已经被作者于2015-1-3 20:07:42编辑过]

--  作者:lsy
--  发布时间:2015/1/3 20:00:00
--  
好,有心人,好心人。
--  作者:jswjyjf
--  发布时间:2015/1/4 10:13:00
--  

在表中 如何使用 索引功能


--  作者:Gryvip
--  发布时间:2015/1/4 11:18:00
--  
在命令窗口执行相应语句,如创建可重复索引

Dim cmd As New SQLCommand
cmd.ConnectionName = “数据源名称”  
cmd.CommandText = "Create Index iDate ON 表名称 ([列名称])"
cmd.ExecuteNonQuery()



--  作者:不倒的翁
--  发布时间:2015/1/4 11:32:00
--  
 感谢分享。。。
--  作者:zhenghangbo
--  发布时间:2020/10/14 9:45:00
--