8000 slow Query on Update · Issue #11205 · arangodb/arangodb · GitHub
[go: up one dir, main page]

Skip to content
slow Query on Update #11205
Open
Open
@hamidscode

Description

@hamidscode

My Environment

  • ArangoDB Version: 3.5.4
  • Storage Engine: RocksDB
  • Deployment Mode: Single Server
  • Deployment Strategy: Manual Start
  • Configuration:
  • Infrastructure:
  • Operating System: Ubuntu 18.04
  • Total RAM in your machine: 16Gb
  • Disks in use: SSD
  • Used Package: Ubuntu .deb

Component, Query & Data

Affected feature:AQL query using web interface

AQL query (if applicable):
FOR doc IN aa3 FILTER doc.insertTime < 1583033400432
UPDATE doc WITH {aa3Status:8} IN aa3

AQL explain (if applicable):

Query String (93 chars, cacheable: false):
 FOR doc IN aa3 FILTER doc.insertTime < 1583033400432
     UPDATE doc WITH {aa3Status:8} IN aa3

Execution plan:
 Id   NodeType            Est.   Comment
  1   SingletonNode          1   * ROOT
  5   CalculationNode        1     - LET #5 = { "aa3Status" : 8 }   /* json expression */   /* const assignment */
  7   IndexNode         450180     - FOR doc IN aa3   /* persistent index scan, projections: `_key` */
  6   UpdateNode             0       - UPDATE doc WITH #5 IN aa3 

Indexes used:
 By   Name         Type         Collection   Unique   Sparse   Selectivity   Fields             Ranges
  7   insertTime   persistent   aa3          false    false       100.00 %   [ `insertTime` ]   (doc.`insertTime` < 1583033400432)
  6   primary      primary      aa3          true     false       100.00 %   [ `_key` ]         doc

Optimization rules applied:
 Id   RuleName
  1   move-calculations-up
  2   remove-data-modification-out-variables
  3   use-indexes
  4   remove-filter-covered-by-index
  5   remove-unnecessary-calculations-2
  6   patch-update-statements
  7   reduce-extraction-to-projection

Write query options:
 Option                   Value
 ignoreErrors             false
 waitForSync              false
 nullMeansRemove          false
 mergeObjects             true
 ignoreDocumentNotFound   false
 readCompleteInput        false
 useIsRestore             false
 consultAqlWriteFilter    false
 exclusive                false
 overwrite                false
 ignoreRevs               true

Dataset: 900360 document

Size of your Dataset on disk:

Replication Factor & Number of Shards (Cluster only):

Steps to reproduce

Problem:
took 9.836 seconds that causes slow query and long response time. I saw bulk update query execute time about 50 seconds too (with _key index in all records of this collection)
affects on 208343 record
the collection has 900360 records
and I have other queries like this that I have to execute them repeatedly
and other update query that affect on just one document of aa3 collection but executes many times in a while and also in a same time with this bulk updates.

Expected result:
in just a few milliseconds

Metadata

Metadata

Assignees

No one assigned

    Labels

    3 AQLQuery language related

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0