Chcete-li zobrazit tuto diskusi na webu, navštivte https://groups.google.com/d/msgid/postgresql-cz/CAFp7Qwp84mGx6USMJ9EFJZbLs2JoE8SKAR8-u8gWhX09JosGGw%40mail.gmail.com.
DíkyČiliže, když tady mam třebaBuffers: shared hit=15787 read=559Tak to znamená, že necelejch 16k řádků našel ve shared buffers? Tj, kdybych otočil server (což nemůžu), tak tam bude nula?S timhle mi to běží asi sekundu (přepsal jsem dotaz na lateral a dolepil nějaké indexy).Nícméně 16k řádků je fakt ranec a tolik by jich neměl potřebovat.
Chcete-li tuto diskusi zobrazit na webu, navštivte https://groups.google.com/d/msgid/postgresql-cz/CAAYBy8amB7K0A9qHhtVU%3D_4-0%2B2LhxJKozAFT-ex8N6gsY%2BiAw%40mail.gmail.com.
po 21. 2. 2022 v 14:45 odesílatel Jan Michálek <godzil...@gmail.com> napsal:DíkyČiliže, když tady mam třebaBuffers: shared hit=15787 read=559Tak to znamená, že necelejch 16k řádků našel ve shared buffers? Tj, kdybych otočil server (což nemůžu), tak tam bude nula?S timhle mi to běží asi sekundu (přepsal jsem dotaz na lateral a dolepil nějaké indexy).Nícméně 16k řádků je fakt ranec a tolik by jich neměl potřebovat.to neni 16K radku, ale 16K * 8K bajtujedna datova stranka je 8KB, a ty jsi jich precet 15787
Chcete-li tuto diskusi zobrazit na webu, navštivte https://groups.google.com/d/msgid/postgresql-cz/CAFj8pRBfCgJw1bsTDnbHDnuLZ8%3DG4KoU5EFMhYpTpHXzEjBFVw%40mail.gmail.com.
po 21. 2. 2022 v 15:19 odesílatel Pavel Stehule <pavel....@gmail.com> napsal:po 21. 2. 2022 v 14:45 odesílatel Jan Michálek <godzil...@gmail.com> napsal:DíkyČiliže, když tady mam třebaBuffers: shared hit=15787 read=559Tak to znamená, že necelejch 16k řádků našel ve shared buffers? Tj, kdybych otočil server (což nemůžu), tak tam bude nula?S timhle mi to běží asi sekundu (přepsal jsem dotaz na lateral a dolepil nějaké indexy).Nícméně 16k řádků je fakt ranec a tolik by jich neměl potřebovat.to neni 16K radku, ale 16K * 8K bajtujedna datova stranka je 8KB, a ty jsi jich precet 15787DíkyAha, rozumím. No, každopádně předpokládám, že tenhle rozdíl (read), které při opakovaném spuštěním zmizí mi dělá docela podstatný výkon v odezvě. Jakej mi to dává hint pro lepší optimalizaci?
Chcete-li tuto diskusi zobrazit na webu, navštivte https://groups.google.com/d/msgid/postgresql-cz/CAAYBy8amT_0pcqg3qVs-T662WcQRSFfj7%2BWqO8uf0%2BMHp16Uuw%40mail.gmail.com.
Chcete-li zobrazit tuto diskusi na webu, navštivte https://groups.google.com/d/msgid/postgresql-cz/CAFp7QwoGsjGMUP2LMCCoq5GBH6EAhkGJ72GXd9775hpVVkLvfA%40mail.gmail.com.
indexy tam potřebný jsou, asi mám někde nešikovně definovanou podmínku.Je to zděděnej kód, trochu se bojím do toho moc hrabat, nevim, co je "hrbolatě napsaný" a co má nějakej smysl.
Chcete-li tuto diskusi zobrazit na webu, navštivte https://groups.google.com/d/msgid/postgresql-cz/CAAYBy8aRxWsfjOtM7EfCe7ZhESAHzG0U33Ycrzri%2B6Sz-Do%2BkQ%40mail.gmail.com.
Chcete-li zobrazit tuto diskusi na webu, navštivte https://groups.google.com/d/msgid/postgresql-cz/CAFp7Qwqt84N9-NuYcEDS7ATwUv-JP43VxJnofXTahfuLjH%2B%3Dpw%40mail.gmail.com.
Tak skutečně pomohl vícesloupcovej index, jakože se to zrychlilo fakt o parník. Hustý. Sakra práce, to bych se fakt potřeboval naučit tomuhle pořádně rozumět.
Chcete-li tuto diskusi zobrazit na webu, navštivte https://groups.google.com/d/msgid/postgresql-cz/CAAYBy8ZUGBzNr64%2BUqKb3qzN29xAYxXM0%3DwUo8fDHMfRzAprTQ%40mail.gmail.com.
út 22. 2. 2022 v 10:11 odesílatel Jan Michálek <godzil...@gmail.com> napsal:Tak skutečně pomohl vícesloupcovej index, jakože se to zrychlilo fakt o parník. Hustý. Sakra práce, to bych se fakt potřeboval naučit tomuhle pořádně rozumět.je to jednoduchy - snazis se minimalizovat cteni z disku (dneska pripadne z RAMky). Cim min dat ctes, tim je dotaz rychlejsi. A cim mas presnejsi index, tim min dat ctes z disku. A kdyz honis ms, tak pak hledas neefektivity - mas dve podminky, ale pouzivas index pres jeden sloupec - to je signal, ze je neco neoptimalni.Predstavit si telefonni seznam - je setrideny podle prijmeni, a jmena - fakticky dvou sloupcovy index, predstav si, jak by se ti hledal Novak Jan, pokud bys mel seznam setrideny jen podle prijmeni.O nicem jinem to neni - v zasade. Pak mas jeste milion veci, ktery muzou nebo nemusi mit vliv, ale ten zaklad je jednoduchy - pokud mozno z disku cist jen to, co bude do vysledku. A uz jsem to opakoval 100x, kazdy programator by mel umet SQLko, a mel by umet cist provadeci plany. V nich to je videt dobre.
Chcete-li tuto diskusi zobrazit na webu, navštivte https://groups.google.com/d/msgid/postgresql-cz/CAFj8pRAysgaFgZigc8YyCs5P-5iyxn_5-4Dt4%3D8YfH4eaQibjg%40mail.gmail.com.
út 22. 2. 2022 v 11:17 odesílatel Pavel Stehule <pavel....@gmail.com> napsal:út 22. 2. 2022 v 10:11 odesílatel Jan Michálek <godzil...@gmail.com> napsal:Tak skutečně pomohl vícesloupcovej index, jakože se to zrychlilo fakt o parník. Hustý. Sakra práce, to bych se fakt potřeboval naučit tomuhle pořádně rozumět.je to jednoduchy - snazis se minimalizovat cteni z disku (dneska pripadne z RAMky). Cim min dat ctes, tim je dotaz rychlejsi. A cim mas presnejsi index, tim min dat ctes z disku. A kdyz honis ms, tak pak hledas neefektivity - mas dve podminky, ale pouzivas index pres jeden sloupec - to je signal, ze je neco neoptimalni.Predstavit si telefonni seznam - je setrideny podle prijmeni, a jmena - fakticky dvou sloupcovy index, predstav si, jak by se ti hledal Novak Jan, pokud bys mel seznam setrideny jen podle prijmeni.O nicem jinem to neni - v zasade. Pak mas jeste milion veci, ktery muzou nebo nemusi mit vliv, ale ten zaklad je jednoduchy - pokud mozno z disku cist jen to, co bude do vysledku. A uz jsem to opakoval 100x, kazdy programator by mel umet SQLko, a mel by umet cist provadeci plany. V nich to je videt dobre.Jasně, tomuhle rozumim, nicméně, nebyl mi jasnej ten "mechanismus složené podmínky" já měl ty sloupce indexovaný, ale každej zvlášť.Tj. v tom příkladu, co popisuješ by to byl jeden index přes jméno, druhej přes příjmení. Myslel jsem si, že si s tim "postgre nějak poradí" a ty indexy "nějak složí". Chápu to správně tak, že jedna podmínka = jeden index - tj potřebuju "proindexovat všechny kombinace atributů, které budu chtít rychle dotazovat a mají nějakou selektivitu"? Jak si poradím se situací, kdy bych chtěl dotazovat dva sloupce, z nichž se každý indexuje jiným typem indexu? Dejme tomu geometrii a kód katastru?
Chcete-li tuto diskusi zobrazit na webu, navštivte https://groups.google.com/d/msgid/postgresql-cz/CAAYBy8ZVmuAkVUnOAo_VJ6TC-j6YMtXB8%2BLO_HMw2A0kqdzbUA%40mail.gmail.com.
út 22. 2. 2022 v 12:32 odesílatel Jan Michálek <godzil...@gmail.com> napsal:út 22. 2. 2022 v 11:17 odesílatel Pavel Stehule <pavel....@gmail.com> napsal:út 22. 2. 2022 v 10:11 odesílatel Jan Michálek <godzil...@gmail.com> napsal:Tak skutečně pomohl vícesloupcovej index, jakože se to zrychlilo fakt o parník. Hustý. Sakra práce, to bych se fakt potřeboval naučit tomuhle pořádně rozumět.je to jednoduchy - snazis se minimalizovat cteni z disku (dneska pripadne z RAMky). Cim min dat ctes, tim je dotaz rychlejsi. A cim mas presnejsi index, tim min dat ctes z disku. A kdyz honis ms, tak pak hledas neefektivity - mas dve podminky, ale pouzivas index pres jeden sloupec - to je signal, ze je neco neoptimalni.Predstavit si telefonni seznam - je setrideny podle prijmeni, a jmena - fakticky dvou sloupcovy index, predstav si, jak by se ti hledal Novak Jan, pokud bys mel seznam setrideny jen podle prijmeni.O nicem jinem to neni - v zasade. Pak mas jeste milion veci, ktery muzou nebo nemusi mit vliv, ale ten zaklad je jednoduchy - pokud mozno z disku cist jen to, co bude do vysledku. A uz jsem to opakoval 100x, kazdy programator by mel umet SQLko, a mel by umet cist provadeci plany. V nich to je videt dobre.Jasně, tomuhle rozumim, nicméně, nebyl mi jasnej ten "mechanismus složené podmínky" já měl ty sloupce indexovaný, ale každej zvlášť.Tj. v tom příkladu, co popisuješ by to byl jeden index přes jméno, druhej přes příjmení. Myslel jsem si, že si s tim "postgre nějak poradí" a ty indexy "nějak složí". Chápu to správně tak, že jedna podmínka = jeden index - tj potřebuju "proindexovat všechny kombinace atributů, které budu chtít rychle dotazovat a mají nějakou selektivitu"? Jak si poradím se situací, kdy bych chtěl dotazovat dva sloupce, z nichž se každý indexuje jiným typem indexu? Dejme tomu geometrii a kód katastru?Postgres umi "slozit" indexy prave bitmap index scanem. Ale to nemusi byt moc efektivni, jakkoliv je to lepsi nez seq scan. Michani indexu je problem - mam pocit, ze jsem videl nejaky triky, ale moc jisty si nejem.
Chcete-li tuto diskusi zobrazit na webu, navštivte https://groups.google.com/d/msgid/postgresql-cz/CAFj8pRDqaPys6hRUtKgX6%2BZwOh8ugSiQ_xuw8APPkm%3DLEzodZg%40mail.gmail.com.
Chcete-li zobrazit tuto diskusi na webu, navštivte https://groups.google.com/d/msgid/postgresql-cz/CAFp7QwpeWX1dTEdmS68gcQpaKVXs%2Bj3ZxsZhCpdyovQDnZi%3Dww%40mail.gmail.com.