设为首页 加入收藏

TOP

数据库操作--创建索引
2015-11-21 01:37:22 来源: 作者: 【 】 浏览:0
Tags:数据库 操作 创建 索引

前段时间接到个任务,要在两秒内从1000万条数据中查询某一条数据是否存在。着实吓我一跳。1000万条数据!两秒!真的可以么?幸好师傅给指了条明路。可以考虑用表分区来实现。虽然不知道表分区是什么,但是最起码有一个方向了。然后就开始在网上搜索表分区的资料,看了看网上的资料,差不多都是一些建表分区的教程。但是我要建立的表分区和例子上又不一样,需要动态的建立表分区,这就难了。搞了半天没搞好。后来想起来春哥和游哥提到过以前他们在对数据库搜索数据的很慢,然后在数据库中加了索引以后,搜索提升了好几倍。

好,那就看看索引吧。先是根据数据格式造了1000万条假数据。然后开始建立表索引。

第一步,在表下面的“索引”右击选择 “新建索引”,然后根据自己的需要建立相应的索引。

\

第二步,更改索引名称,选择需要加索引的字段<??http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"https://www.cppentry.com/upload_files/article/57/1_d2bfg__.png" alt="\">

第三步,根据需要选择字段

\

第四步,确定添加索引

\

好了,索引创建好了。

下面来看看加上索引和不加索引搜索速度的对比

没有加索引检索全表的速度为5秒

\

加上索引后检索全表的速度为0.363秒


在学习数据库的时候就知道有索引,而且索引分为聚集索引和非聚集索引。那么,索引到底是什么呢?

拿字典举例子吧:字典前面的目录,可以按照拼音和部首去查询。我们想查询一个字,只需要根据拼音或部首查询就可以快速找到要查的这个汉字了。那么,字典的目录就是索引。拼音查询法就是聚集索引,部首查询发就是非聚集索引。

看了上面的例子,下面的话就很容易理解了。

聚集搜索引存储记录是物理上连续存在,而非聚集索引是逻辑上的连续,物理存储并不连续。就像字段,聚集索引是连续的,a后面肯定是b。而非聚集索引就不一定了。

对索引的了解暂时就这么多,很浅。要想真正的学精,以后还要不断的加深学习。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Hadoop之Reduce侧的联结 下一篇linuxc编程访问数据库

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: