Mielenkiintoista kyllä, olen aina ajatellut, että jos viittaat toiseen Dune-kyselyyn, se olisi melko tehotonta, koska Trino-optimointiohjelma ei suunnittele ulkoista kyselyä ja nykyistä kyselyä yhdessä. Mutta käy ilmi, että niin käy. Minulla on Kysely A: Morpho-markkinoiden tarjonta-/nosto-taulukko. Tässä on koko tapahtumapäiväkirja, joten sen pitäisi olla melko raskas. Sitten kysely B, joka viittaa kyselyyn A, suodattaa yhden tietyn market_id. Kävi ilmi, että Trino on edelleen tarpeeksi fiksu tekemään predikaattityöntöä (hieno termi suodattukselle mahdollisimman aikaisin) kyselyssä A. Yksinkertaisesti sanottuna, se siirsi market_id suodattimeni kyselyyn A, vaikka suodatin oli sovellettu kyselyyn B. En ole varma, tekeekö Trino samaa monimutkaisemmissa kysymyksissä. Mutta tämän seuraukset ovat: Et välttämättä tarvitse ennakkooptimointia tai varhaista suodatusta pohjataulukoilla. Jos suodattimesi ovat viimeisen mailin taulukoilla, joita yleensä käytetään dashboardien tekemiseen, Trino pystyy työntämään suodattimet alaspäin (mikä outo lause). Olin aluksi aika huolissani tästä ja vähän ylioptimoinut tilannetta. Mutta varoituksen sana on, että tätä voi tehdä vain, jos odotat jo etukäteen, että alavirran taulukoissa on jonkinlainen suodatus. Koska jos et tee tätä optimointia ylävirran taulukoilla, se maksaa sinulle paljon krediittejä. Tietenkin standardisääntö pätee optimoinnissa, esimerkiksi jos teet ikkunafunktion ennen tiettyjen arvojen suodattamista, se kokkaa sinua, koska toimit ikkunan kautta koko aineistossa. Ei mikään hyvä juttu. Joten oikeastaan kyselyn suunnittelu riippuu alavirran taulukon odotetusta käyttötapauksesta. En ole varma, puhunko järkevästi vai onko tämä oikein. Ehkä joku voisi myös tutustua tähän. Se on kuitenkin aika siistiä.