Open
Bug 1047818
Opened 10 years ago
Updated 1 year ago
Avoid large IN clauses
Categories
(Toolkit :: Places, defect, P3)
Toolkit
Places
Tracking
()
NEW
People
(Reporter: mak, Unassigned)
References
(Depends on 1 open bug, Blocks 1 open bug)
Details
(Keywords: perf, Whiteboard: [snt-scrubbed][places-performance])
we have some large IN clauses, they are very unefficient and cause of jank we could either implement array binding in Storage or use temp tables.
Comment 1•10 years ago
|
||
As far as I can tell, there is no function for array binding in sqlite3, right? Also, I don't see how a temporary table would be faster than a large IN clause (assuming that the IN row is indexed).
Reporter | ||
Comment 2•10 years ago
|
||
there is array binding, we didn't implement it. it's in a separate extension though, so it wouldn't work with out support of system sqlite. we can ask support if they improved IN, btw, just the fact you might have a giant string to parse is a perf issue by itself.
Reporter | ||
Comment 3•10 years ago
|
||
or we can ask to put array binding in the core product.
Comment 4•10 years ago
|
||
I believe that having array binding would be good even without performance concern, just for the sake of safety, so I would vote for getting array binding. I have no clear opinion on whether it should be in the core product or we should adopt an extension.
Reporter | ||
Updated•9 years ago
|
Blocks: PlacesJank
Reporter | ||
Updated•9 years ago
|
Priority: -- → P3
Updated•2 years ago
|
Severity: normal → S3
Reporter | ||
Comment 6•1 year ago
|
||
We should first fix bug 483318.
We can also use the Slow SQL telemetry to measure how common slow queries are using large IN clauses, and determine a priority for this work.
Whiteboard: [snt-scrubbed][places-performance]
Updated•1 year ago
|
See Also: → https://mozilla-hub.atlassian.net/browse/SNT-609
You need to log in
before you can comment on or make changes to this bug.
Description
•