Skip to content
Snippets Groups Projects
Commit 72f428c7 authored by Yorick Peterse's avatar Yorick Peterse
Browse files

Improve performance of User.by_login

Performance is improved in two steps:

1. On PostgreSQL an expression index is used for checking lower(email)
   and lower(username).
2. The check to determine if we're searching for a username or Email is
   moved to Ruby. Thanks to @haynes for suggesting and writing the
   initial implementation of this.

Moving the check to Ruby makes this method an additional 1.5 times
faster compared to doing the check in the SQL query.

With performance being improved I've now also tweaked the amount of
iterations required by the User.by_login benchmark. This method now runs
between 900 and 1000 iterations per second.
parent fb778562
No related branches found
No related tags found
1 merge request!1545Improve User.by_login performance
Pipeline #