Nový postgres a zdá se, že mám problém a nejsem si jistý, jakým směrem jít.
Mám dotaz, který způsobuje některé problémy s výkonem a nemohu přijít na to, jak optimalizovat.
Dotaz je vlastně docela jednoduchý:
SELECT transactions.* FROM transactions
LEFT OUTER JOIN companies ON "companies"."id" = "transactions"."company_id"
WHERE companies.code ILIKE '%777%'
ORDER BY transactions.id desc LIMIT 10
Chci najít všechny transakce, které jsou pro společnost, která má 777 v názvu. Tam jsou kolem 20million transakce v databázi a kolem 200 firem.
Dotaz v současné době, i když máme LIMIT 10. Věřím, že to je proto, že ILIKE není použití indexu tak, že je to hrozně pomalé.
By to být instance, kde budete chtít přidat filtr, KDE se PŘIPOJIT? Testoval jsem to a funguje to, bleskově rychlé, POKUD záznam je nalezen. Pokud není záznam nalezen znovu krát.
Je nějaký typ Indexu, měli bychom být při pohledu na který by se zlepšit rychlost?