Commit graph

6 commits

Author SHA1 Message Date
Luke "Jared" Bennett
7854824b8f Add index_redirect_routes_path_for_link migration to setup_postgresql.rake 2017-05-08 10:38:26 +00:00
Michael Kozono
03144e1c0f Index redirect_routes path for LIKE 2017-05-05 12:12:48 -07:00
Yorick Peterse
69af06dda6
Add LIKE index for routes.path
Nested groups support uses queries along the lines of `path LIKE 'X/%'`.
For these queries to use an index on PostgreSQL we need to use either
the varchar_pattern_ops or text_pattern_ops operator class.

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/29554
2017-03-21 11:49:24 +01:00
Dmitriy Zaporozhets
ec25abe625
Add AddLowerPathIndexToRoutes to setup_postgresql.rake
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2016-12-13 14:48:02 +02:00
Yorick Peterse
72f428c7d2 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.
2015-10-15 11:58:25 +02:00
Yorick Peterse
c8f18fc562 Added dedicated Rake task for setting up Postgres
This ensures any PostgreSQL specific schema changes (e.g. expression
indexes) are created when setting up the database.
2015-10-08 14:35:36 +02:00