commit | f96d42409fe6fdeb8d8555527afc8c609a96e5f7 | [log] [tgz] |
---|---|---|
author | Julie Qiu <julie@golang.org> | Mon Aug 16 12:33:26 2021 -0400 |
committer | Julie Qiu <julie@golang.org> | Tue Aug 17 18:39:06 2021 +0000 |
tree | 5159a945e1154c2e64be3b32fd6377900fe644aa | |
parent | fc98402a2851aae217ef2c5071e8a518f6f999c1 [diff] |
internal/postgres/{symbolsearch}: update queries The symbolsearch queries are rewritten to filter on symbol_search_documents.symbol_name, instead of symbols.name or symbols.tsv_name_tokens. This significantly improves performance on the first search because: (1) We no longer need to fetch symbol IDs first, before performing the search query on symbol_search_documents, which can save ~100-200ms. (2) Searching on the lower(symbol_name) index is faster than the symbol_name_id index. This likely because the lower(symbol_name) = lower($1) fetches rows that are paged together, whereas the symbol_name_ids maybe completely random. For golang/go#44142 Change-Id: Ibe78676d4f5424dcace9da544f46a6445a06b160 Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/342471 Trust: Julie Qiu <julie@golang.org> Run-TryBot: Julie Qiu <julie@golang.org> TryBot-Result: kokoro <noreply+kokoro@google.com> Reviewed-by: Jonathan Amsterdam <jba@google.com> Reviewed-by: Jamal Carvalho <jamal@golang.org>
Pkg.go.dev is a website for discovering and evaluating Go packages and modules.
You can check it out at https://pkg.go.dev.
If you want to report a bug or have a feature suggestion, please first check the known issues to see if your issue is already being discussed. If an issue does not already exist, feel free to file an issue.
For answers to frequently asked questions, see go.dev/about.
You can also chat with us on the #pkgsite Slack channel on the Gophers Slack.
We would love your help!
Our canonical Git repository is located at go.googlesource.com/pkgsite. There is a mirror of the repository at github.com/golang/pkgsite.
To contribute, please read our contributing guide.
Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.