UPSERT inaczej, czyli unikanie konfliktów podczas wykonywania zapytań typu INSERT

Jakiś czas temu pisałem o konstrukcji UPSERT (o tutaj) i przyszedł czas żeby trochę zaktualizować informacje o tym. W dzisiejszym wpisie również chciałbym opisać trochę konstrukcję UPSERT, ale nieco w innym wykonaniu, bo przy użyciu klauzuli ON CONFLICT.

Czytaj dalej UPSERT inaczej, czyli unikanie konfliktów podczas wykonywania zapytań typu INSERT

Aż ponad 80% stron działa w oparciu o PHP!

Znajdując dziś w domu nieco czasu na przeglądanie internetu znalazłem ciekawy wpis, w którym autor przedstawia nieco statystyk ze świata PHP.

Chodzi przede wszystkim o popularność języka PHP wśród wszystkich języków, w których można tworzyć aplikacje internetowe. Zapewne Was to zdziwi lub też nie, ale w oparciu o PHP jest aż ponad 80% internetu! To niezwykle dobry wynik biorąc pod uwagę dynamicznie rosnącą popularność Node.

Czytaj dalej Aż ponad 80% stron działa w oparciu o PHP!

Filtrowanie wyników po kolumnie typu jsonb

Dawno mnie tu nie było, ale znalazłem chwilę żeby opisać problem z którym się ostatnio spotkałem i oczywiście z którym chciałem się nim z Wami podzielić.

Zacznijmy od tego gdzie pojawił się problem. Tworząc tabelę w której trzymałbym jakieś dane, np. posty, chciałem również umieścić kolumnę w której trzymałbym informację o tagach, żeby nie robić specjalnie kolejnych dwóch tabel (jedna z tagami, a druga oczywiście by wiązała tagi z konkretnym postem). Wymyśliłem, że tagi będą trzymane w formacie JSON, a żeby jakoś operować jakoś na tych danych bezpośrednio w zapytaniu skorzystałem z typu JSONB.

Czytaj dalej Filtrowanie wyników po kolumnie typu jsonb

Uruchamianie skryptów PHP przez CLI

Na początku zacznijmy od tego czym jest CLI i jak go wykorzystać. CLI (Command Line Interface) to interfejs wiesza poleceń, który pozwala na uruchamianie aplikacji w trybie konsolowym. Uruchamianie naszej aplikacji z poziomu linii poleceń jest o tyle fajniejsze, że ten sam skrypt, który uruchamiamy przez przeglądarkę i terminal wykona się dużo szybciej w terminalu.

Dobrym przykładem jest moja historia z pracy, gdyż ostatnio w pracy musiałem zaimportować z innego serwisu pewne produkty łącząc się przez CURL’a, pobierając całą stronę, przetwarzając ją, a następnie wykonując ok dwudziestu różnych zapytań do bazy danych. Ostatecznie osiągało się wynik między 35 – 50 sekund. Ten sam skrypt uruchomiony przez konsolę wykonywał się pomiędzy 20 – 45 sekund, więc spadek jest znaczny. Mnożąc to przez 2500, bo tyle miałem produktów do zaimportowania otrzymujemy ogromny zysk.

Czytaj dalej Uruchamianie skryptów PHP przez CLI

Filtrowanie danych bezpośrednio w SELECT przy użyciu klauzuli FILTER

W tym wpisie postaram się omówić czym jest klauzula FILTER, do czego służy oraz jak ją można wykorzystać w życiu codziennym.

FILTER służy do filtrowania danych, np. sumowania jakichś informacji. Pozwala to na zsumowanie pewnych danych w jednym zapytaniu nie używając przy tym zagnieżdżonych SELECT’ów. W poniższym przykładzie postaram się omówić jak mniej więcej działa klauzula FILTER.

Czytaj dalej Filtrowanie danych bezpośrednio w SELECT przy użyciu klauzuli FILTER