Skip to content
Snippets Groups Projects
  1. Feb 21, 2020
  2. Feb 05, 2020
  3. Nov 08, 2019
  4. Oct 09, 2019
  5. Oct 01, 2019
  6. Jun 16, 2019
  7. Apr 01, 2019
  8. Nov 01, 2018
  9. Oct 30, 2018
    • Toon Claes's avatar
      Enhance performance of counting local LFS objects · d5f290e4
      Toon Claes authored
      Add an index to the `file_store` column on `lfs_objects`. This makes
      counting local objects faster.
      
      Also, there is no longer need to check for objects with `file_store`
      being `NULL`. See
      https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/18557
      
      ---
      
      ### Query plans
      
      #### Before & with `NULL`
      
      ```
      Aggregate  (cost=113495.96..113495.97 rows=1 width=8) (actual time=1691.394..1691.394 rows=1 loops=1)
        ->  Seq Scan on lfs_objects  (cost=0.00..106415.50 rows=2832186 width=0) (actual time=0.012..1312.488 rows=2852607 loops=1)
              Filter: ((file_store = 1) OR (file_store IS NULL))
              Rows Removed by Filter: 131
      Planning time: 0.077 ms
      Execution time: 1691.433 ms
      ```
      
      #### Before, without `NULL`
      
      ```
      Aggregate  (cost=113495.96..113495.97 rows=1 width=8) (actual time=856.423..856.424 rows=1 loops=1)
        ->  Seq Scan on lfs_objects  (cost=0.00..106415.50 rows=2832186 width=0) (actual time=0.012..672.181 rows=2852607 loops=1)
              Filter: (file_store = 1)
              Rows Removed by Filter: 131
      Planning time: 0.128 ms
      Execution time: 856.470 ms
      ```
      
      #### After & with `NULL`
      
      ```
      Aggregate  (cost=68819.95..68819.96 rows=1 width=8) (actual time=583.355..583.355 rows=1 loops=1)
        ->  Index Only Scan using index_lfs_objects_on_file_store on lfs_objects  (cost=0.43..61688.35 rows=2852643 width=0) (actual time=0.028..399.177 rows=2852607 loops=1)
              Filter: ((file_store = 1) OR (file_store IS NULL))
              Rows Removed by Filter: 131
              Heap Fetches: 867
      Planning time: 0.096 ms
      Execution time: 583.404 ms
      ```
      
      #### After, without `NULL`
      
      ```
      Aggregate  (cost=68817.29..68817.30 rows=1 width=8) (actual time=490.550..490.551 rows=1 loops=1)
        ->  Index Only Scan using index_lfs_objects_on_file_store on lfs_objects  (cost=0.43..61685.68 rows=2852643 width=0) (actual time=0.040..311.760 rows=2852607 loops=1)
              Index Cond: (file_store = 1)
              Heap Fetches: 831
      Planning time: 0.294 ms
      Execution time: 490.590 ms
      ```
      
      Closes https://gitlab.com/gitlab-org/gitlab-ee/issues/6067
      d5f290e4
  10. May 01, 2018
  11. Apr 19, 2018
  12. Mar 01, 2018
  13. Feb 28, 2018
Loading