sql >> Databáze >  >> RDS >> PostgreSQL

Výkon typu PostgreSQL UUID

Měli jsme tabulku s asi 30 000 řádky, která (z určitého nesouvisejícího architektonického důvodu) měla UUID uložená v textovém poli a indexovaná. Všiml jsem si, že výkon dotazu byl pomalejší, než bych očekával. Vytvořil jsem nový sloupec UUID, zkopíroval jsem do primárního klíče textového uuid a porovnal níže. 2,652 ms oproti 0,029 ms. Docela rozdíl!

 -- 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. 'Nelze najít pg-0.12.2 v žádném ze zdrojů' při spuštění rspec

  2. Výjimka syntaxe na spouštěči s více příkazy s MySQL a JDBC

  3. Vyhledávání Mysql s řetězcem odděleným čárkou

  4. MYSQL najde všechny řádky, kde druhý řádek má dané hodnoty