From 1218bee34cf04498ac36add5c7e847698be541c2 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 23 Jul 2021 10:56:11 +0000 Subject: lei: avoid SQLite COUNT() for dedupe SQLite COUNT() is a slow operation that does a full table scan with no conditions. There's no need for it, since lei dedupe only needs to know if it's empty or not to decide between new/ and cur/ for Maildir outputs. --- lib/PublicInbox/LeiXSearch.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/PublicInbox/LeiXSearch.pm') diff --git a/lib/PublicInbox/LeiXSearch.pm b/lib/PublicInbox/LeiXSearch.pm index cac7fb7d..3414e87d 100644 --- a/lib/PublicInbox/LeiXSearch.pm +++ b/lib/PublicInbox/LeiXSearch.pm @@ -504,7 +504,7 @@ sub do_query { my $F_SETPIPE_SZ = $^O eq 'linux' ? 1031 : undef; if ($l2m->{-wq_nr_workers} > 1 && $l2m->{base_type} =~ /\A(?:maildir|mbox)\z/) { - # setup two barriers to coordinate dedupe_nr + # setup two barriers to coordinate ->has_entries # between l2m workers pipe(my ($a_r, $a_w)) or die "pipe: $!"; fcntl($a_r, $F_SETPIPE_SZ, 4096) if $F_SETPIPE_SZ; -- cgit v1.2.3-24-ge0c7