Foxtable(狐表)用户栏目专家坐堂 → [分享]数据库索引的一点资料


  共有4136人关注过本帖树形打印复制链接

主题:[分享]数据库索引的一点资料

帅哥哟,离线,有人找我吗?
Gryvip
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:479 积分:4505 威望:0 精华:0 注册:2008/9/4 14:40:00
[分享]数据库索引的一点资料  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
Gryvip
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:479 积分:4505 威望:0 精华:0 注册:2008/9/4 14:40:00
  发帖心情 Post By:2015/1/4 11:18:00 [显示全部帖子]

在命令窗口执行相应语句,如创建可重复索引

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



 回到顶部