performance - Couchbase查询执行时间?

标签 performance nosql couchbase execution-time sql-execution-plan

如何在Couchbase中计算查询时间和查询执行计划。Couchbase数据库中是否有诸如Oracle Explain计划和tkprof之类的实用程序?

编辑:

我试图查看哪个数据库最适合我的数据。所以我正在尝试使用mysql,mongodb,couchbase。我尝试了三种不同数量的条目10k,20k,40k条目。

使用mysql,我可以使用“设置配置文件= 1”查看查询时间。使用此设置,我在以下三种情况下运行查询:1)不索引主键,2)在索引主键之后3)第二次运行相同的查询(以查看查询缓存的效果)

同样,我对mongodb进行了相同的测试,并以表格格式总结了我的结果。我想对Sofabase进行相同的测试,以查看其性能如何。我尝试通过网络进行搜索,但找不到任何可以遵循的方法以获得相似的结果。

以下是我的表格(所有时间均为毫秒)。带braces()的第二行显示第二次运行的查询时间。

记录计数Mysql MongoDB CouchBase
___________________ _______________ ___________
没有|有无|带索引
索引|索引索引|指数

10K 62.27325 | 8.537 3311 | 33
(33.3135)| (3.27825)(7)| (0)


20K 108.4075 | 23.238 132 | 39
(80.90525)| (4.576)(17)| (0)

40K 155.074 | 26.26725 48 | 10
(110.42)| (10.037)(42)| (0)


对于couchbase,我想在使用文档 key (类似于memcahed的功能)检索文档时同时了解两种性能。还使用其 View 查询时间。

最佳答案

您必须了解,Couchbase与RDBMS(例如Oracle)的工作方式不同。 Couchbase为您提供了两种检索数据的方式:

1) key 查找,您知道要检索的文档的 key 。

2)定义称为Maps的Map Reduce作业,该作业创建索引,使您可以查询除键之外的其他属性上的数据。

Couchbase文档始终是一致的,但是 View 不一致,并且最终还是一致的(尽管您可以更改此内容)。

如沙发床文档所述

Views are updated when the document data is persisted to disk. There is a delay between creating or updating the document, and the document being updated within the view.



因此查询时间确实取决于多种因素, View 数据是否过时?索引发出的数据有多大?当前的工作量和数据库大小是多少? Couchbase提供了以下3个标志,用于处理 View 以及您如何访问数据。 False表示索引必须在返回结果之前进行更新,因此它可能很慢。
  • false:在返回数据
  • 之前强制更新 View
  • 好的:允许过时的 View
  • update_after:允许陈旧 View ,访问后更新 View

  • 请查看官方文档以获取更多深入的答案http://docs.couchbase.com/couchbase-manual-2.2/#views-and-indexes

    您也可以查看有关缓存 View 的这篇有趣的文章http://blog.couchbase.com/caching-queries-couchbase-high-performance

    Couchbase目前正在开发N1QL,实际上是SQL的长沙发版本,它将具有EXPLAIN语句,我相信它将在2014年底之前发布。

    介绍N1QL的博客文章
    http://blog.couchbase.com/n1ql-it-makes-cents

    N1QL备忘单
    http://www.couchbase.com/communities/sites/default/files/Couchbase-N1QL-CheatSheet.pdf

    如果想使用N1QL,可以在哪里下载开发预览
    http://www.couchbase.com/communities/n1ql

    还要 checkout cb stats工具http://docs.couchbase.com/couchbase-manual-2.2/#cbstats-tool,它可以提供有关持久性,更新, key 遗漏等的高级概述。

    关于performance - Couchbase查询执行时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20424616/

    相关文章:

    c++ - SFINAE的表现和if else

    C++ 应用程序执行时间

    java - 索引未知字段时强制使用字符串类型

    backup - Couchbase 时间点恢复?

    spring-boot - 是否可以在 Spring Boot 中连接到两个不同的沙发底座桶

    python - 通过Python批量插入couchbase

    performance - 为什么whatsapp web应用程序一直需要电话连接?

    c# - 数据何时加载到应用服务器的内存中?

    mongodb - 有人在 MongoDB 前面用 Redis 吗?

    json - 将数据导入 MongoDB Atlas