On 12/20/17, R Smith <[email protected]> wrote:
> I've never known Analyze to consume significant time

ANALYZE runs in O(N) steps, where N is the number of rows in the
table.  It does a single scan through each index being analyzed, from
beginning to end.

CREATE INDEX, on the other hand, requires O(NlogN) steps.

ANALYZE is normally fast, but can take significant time on a large
(terabyte-sized) database.  Earlier this year, we worked on an
experimental utility program that does a reasonable approximation of
ANALYZE in constant time.  See the "faststat1" utility on the
"est_count_pragma" branch:
https://www.sqlite.org/src/timeline?r=est_count_pragma

-- 
D. Richard Hipp
[email protected]
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to