NoSQL——数据索引与排序

原创 2013年12月03日 09:52:26

数据库索引建立在哈希函数,B树和B+树的基础上。

MongoDB

  1. MongoDB默认会在所包含的所有集合的_id属性上创建一个索引。
  2. 注意解释函数的调用,这是一个查询性能的测量函数,输出也是一个文档:
    • db.jihe.find().explain();
    • Cursor: 游标用来返回查询结果集。
    • Nscanned:被扫描的尸体总数,使用索引时对应索引实体的总数。
    • nscannedObject:扫描的文档总数。
    • N:返回的文档总数。
    • Millis:查询的耗时,单位是毫秒。
    • indexBounds:表示查新匹配的索引范围的最小建和最大键。
  3. 在MongoDB中,关键字ensureIndex完成了大部分创建索引的工作。如:db.集合名.ensureIndex( { 列名 : 1 (-1) } ),表示升序或者降序。获得所有索引的列表使用getIndexs()函数。重新建立索引使用reIndex(),也可以使用runCommand(),例如db.runCommand( { reIndex : '集合名' } )。可以使用dropIndex命令删除索引。
  4. 如果需要,可以使用hint方法强制查询使用特定的索引,如强制使用降序:db.集合名.find( { movie_id : 1 } ).hint( { movie_id : -1} )。
  5. 可以创建组合索引,如:db.集合名.ensureIndex( { 列名 : 1 (-1) , 列名 : 1 (-1) .....} )。创建后可以单用。
  6. 组合索引也可以包含嵌套字段。
  7. 可以通过显示声明来创建一个稀疏索引:db.集合名.ensureIndex( { 列名 : 1 (-1) , { sparse : true } } )。如果字段无值就会被忽略,所以稀疏索引可能没有引用集合中的所有文档。
  8. 可以创建唯一索引:db.集合名.ensureIndex( { 列名 : 1 (-1) , { unique : true } } )。但是列名必须各不相同,否则不会创建,除非显式声明除第一个条目外,所有重复都可以丢弃。这样的显示声明:db.集合名.ensureIndex( { 列名 : 1 (-1) , { unique : true , dropDups : true } } )。如果列名为空,则保存null,但是只保存第一个。
  9. MongoDB中可以创建多重键,即为数组中的每个唯一值创建一个键。

CouchDB

  1. CouchDB的索引功能是自动的,在数据被修改后,第一次读取时触发。CouchDB遵循MapReduce风格的数据操作。

Apache Cassandra

  1. 像HBase和Hypertable这样的列族数据库默认基于行健进行排序和索引。还可以支持次级索引。

相关文章推荐

NoSQL 数据库索引 总结

SQL数据库索引深度解析地址: http://www.cnblogs.com/hustcat/archive/2009/10/28/1591648.html - 索引分为聚簇索引和非聚簇索引两种,...

使用NOSQL的MongoDB时建立索引需要注意的几点建议和Explain优化分析

第一,MongoDB索引和MySQL索引非常相似并且对于MySQL的索引优化有很多也适用于MongoDB。 第二,更重要的是,这些索引的建议对你的应用提高也是有限的。 对于应用的最佳索引策略应该基...

NoSQL 数据库索引 总结

SQL数据库索引深度解析地址: http://www.cnblogs.com/hustcat/archive/2009/10/28/1591648.html - 索引分为聚簇索引和非聚簇索引两种,...

从零开始_学_数据结构(四)——查找算法、索引、二叉排序树

查找算法   基本概念: (1)关键字:假如有结构 struct Node //一个结点,存储数据和指针 { DATA data; //数据属性,用于存储数据 int key; ...

数据结构的索引排序

  • 2008年07月04日 19:57
  • 889B
  • 下载

大数据还是大炒作,这是一个问题 ——为什么NoSQL很重要

现如今,有关“大数据”的各种评论和赞美每天都占据着人们的视线,但作为更加重要且更加有现实意义的一点,大数据技术对现实公司的显著影响,尤其是在与顾客的交互方面的极大提升却鲜有人关注。不可否认的是,大数据...

吞噬大数据存储领域新机制——NoSQL模式解析

转自:http://cloud.csdn.net/a/20120614/2806646.html 在过去几年,一种新兴的大型数据存储机制正吞噬大数据存储市场。这种存储解决方案与传统的...
  • hjwang1
  • hjwang1
  • 2012年06月15日 09:42
  • 471

大数据学习——NoSQL分布式数据库综述

本文学习内容来自《大数据革命——理论、模式与技术创新》 电子工业出版社传统的关系型数据库数据仓库在面对大数据的处理地显得越来越力不从心。在这样的背景下,NoSQL数据库应运而生。CAP理论2000年美...
  • xundh
  • xundh
  • 2017年03月13日 13:37
  • 560

数据结构——线索二叉树排序

  • 2010年07月16日 23:27
  • 937B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NoSQL——数据索引与排序
举报原因:
原因补充:

(最多只允许输入30个字)