[Webkit-unassigned] [Bug 207377] New: IndexedDB object store with a lot of data makes openCursor slower to the rest of the object stores when using their indices
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Feb 7 01:51:22 PST 2020
https://bugs.webkit.org/show_bug.cgi?id=207377
Bug ID: 207377
Summary: IndexedDB object store with a lot of data makes
openCursor slower to the rest of the object stores
when using their indices
Product: WebKit
Version: Safari Technology Preview
Hardware: All
OS: All
Status: NEW
Severity: Major
Priority: P2
Component: WebCore Misc.
Assignee: webkit-unassigned at lists.webkit.org
Reporter: carlos.aristu at openbravo.com
Created attachment 390067
--> https://bugs.webkit.org/attachment.cgi?id=390067&action=review
Bug Reproducer
The fact of having an object store with a lot of data is impacting in the performance of the rest of object stores, making the openCursor operation much slower when using an index (even if the object store that we want to read is almost empty).
Note that when not using an index (IDBIndex), the performance seems to be not affected.
Tested with Safari Technology preview release 100 (Safari 13.2, WebKit 15610.1.2.1) on Mac, and with Safari 13 on iOS.
Steps to reproduce:
1- Open the attached reproducer, performance.html. An IndexedDB database with two objectStores (testStore and testStore2) is created.
2- Click in “Read data (object store)”, it reads the contents of the object store “testStore2” using the openCursor operation directly with the objectStore. The testStore2 is empty and the read finishes in a few milliseconds.
3- Click in “Read data (index)”, it reads the contents of the object store “testStore2” using the openCursor operation by an index of testStore2. The testStore2 is empty and the read finishes in a few milliseconds.
4- Click in “Populate database” and wait until it finishes. It will populate “testStore” with 250000 records and testStore2 with 10 records.
5- Click in “Read data (object store)”. Reading again testStore2 (which is almost empty, 10 records). It finishes in a few milliseconds.
6- Click in “Read data (index)”. Reading again objectStestStore2tore2 (which is almost empty, 10 records). It takes at least 200 ms
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20200207/b533716c/attachment.htm>
More information about the webkit-unassigned
mailing list