Dziś przeglądając kwejka natrafiłem o dziwo na coś bardzo pożytecznego.
Wyszukiwane frazy:
- sql wiele joinow (1)
MySQL jest silnikiem baz danych o dość sporych możliwościach, które często są ukryte w dokumentacji i praktycznie zapomniane. Często o danej funkcjonalności programiści nie mają pojęcia implementując ją na inne sposoby wykorzystując np. język programowania lub korzystając z alternatywnych i często nieoptymalnych metod.
Jedną z takich funkcji jest sortowanie. Każdy chyba potrafi sortować wyniki zanim te zostaną zwrócone przez bazę danych. Czy to rosnąco (ASC) czy malejąco (DESC), po jednej kolumnie czy po wielu, rzutując do innego kodowania znaków itd. Sortowanie jest jedną z podstawowych czynności używanych w MySQL (w innych bazach zapewne także :))
Raz na jakiś czas człowiek spotyka się z dziwnymi funkcjami w MySQL, których wcześniej nie widział i nie miał o nich bladego pojęcia. Czasami zdarza się, że zupełnie niczego nieświadomy biedny programista zupełnie uzależnia się od takiej funkcji i nie wyobraża sobie bez niej życia (nad)używając jej wszędzie tam gdzie popadnie.
Dzisiaj przeglądając forum goldenline o MySQL natknąłem się na temat „Count zwracanie zera nie null”, przeglądając odpowiedzi natknąłem się na funkcję COALESCE. Nazwa dziwna co by tu nie mówić, ale do czego służy ta funkcja?
Jak tłumaczy dokumentacja MySQL:
Wbrew temu co sądzi wiele osób polecenie UNION dostępne w silniku bazy MySQL nie służy tylko do wstrzykiwania kodu w niezabezpieczonych stronach. UNION w wielu sytuacjach służy dobrym celom, chociaż nieumiejętnie wykorzystany może doprowadzić do dramatycznego spadku wydajności.
Uwaga. W tym artykule przedstawię przykłady nie do końca najlepsze do zastosowania w serwisach ze sporym ruchem. Jestem świadomy także, że wielu osobom którzy na co dzień obcują z optymalizacją zapytań włos się na głowie zajerzy niejednokrotnie. Niemniej jednak moim celem jest pokazać jak wykorzystywać UNION w warunkach ekstremalnych :)
Do czego służy UNION? Na republice znalazłem krótkie wyjaśnienie zjawiska jakim jest UNION:
dump:
Import