PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Wydajność typu UUID PostgreSQL

Mieliśmy tabelę z około 30 tysiącami wierszy, które (z konkretnego, niezwiązanego z architekturą powodu) miały identyfikatory UUID przechowywane w polu tekstowym i zindeksowane. Zauważyłem, że wydajność zapytania była wolniejsza niż się spodziewałem. Utworzyłem nową kolumnę UUID, skopiowałem w tekstowym kluczu podstawowym uuid i porównałem poniżej. 2,652 ms wobec 0,029 ms. Spora różnica!

 -- With text index
    QUERY PLAN
    Index Scan using tmptable_pkey on tmptable (cost=0.41..1024.34 rows=1 width=1797) (actual time=0.183..2.632 rows=1 loops=1)
      Index Cond: (primarykey = '755ad490-9a34-4c9f-8027-45fa37632b04'::text)
    Planning time: 0.121 ms
    Execution time: 2.652 ms

    -- With a uuid index 
    QUERY PLAN
    Index Scan using idx_tmptable on tmptable (cost=0.29..2.51 rows=1 width=1797) (actual time=0.012..0.013 rows=1 loops=1)
      Index Cond: (uuidkey = '755ad490-9a34-4c9f-8027-45fa37632b04'::uuid)
    Planning time: 0.109 ms
    Execution time: 0.029 ms


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Poczekaj na kilka połączeń db przed uruchomieniem serwera ekspresowego?

  2. Co to jest bajt typu danych i kiedy powinienem go użyć?

  3. Zaznaczanie wszystkich rekordów za pomocą zapytania SQL LIMIT i OFFSET

  4. Django resetuje auto-inkrementację pola pk/id dla produkcji

  5. eksportuj tabelę do csv na postgres