Upload

Log in to follow creators, like videos, and view comments.

© 2023 TikTok

marcinbadtkett

MarcinBadtke

36Following
2071Followers
6111Likes

Przyjaźnie o SQL, bazach danych i ludziach.

Videos

Liked

Czasem w firmie jest kilka podsieci. Ruch pomiędzy nimi nie jest dozwolony. Aby zalogować się z jednej do drugiej trzeba użyć hosta przesiadkowego. Czasem zwanego jumphost lub gateway. Kopiowanie plików pomiędzy hostem w jednej podsieci, a hostem w drugiej odbywa się także poprzez host przesiadkowy. Dopóki pliki są niewielkie a operacja sporadyczna da się żyć. Ja miałem skopiować wiele dużych plików w jak najkrótszym czasie. Próbowałem komendy jak ta: scp zdalne_źródło zdalny_cel wydanej z hosta przesiadkowego. Nie zadziałała ponieważ scp próbuje skomunikować oba hosty ze sobą. Bez pośrednictwa przesiadkowego. W sukurs przychodzi opcja -3: scp -3 zdalne_źródło zdalny_cel Taka komenda wydana z hosta przesiadkowego transferuje dane via host przesiadkowy. Czyli dane lecą ze zdalnego hosta źródłowego do hosta przesiadkowego. Na hoście przesiadkowym nie są zapisywane tylko od razu transferowane do zdalnego hosta docelowego. Przyda Ci się? #scp #marcinbadtke #dc #dlaciebie  created by MarcinBadtke with MarcinBadtke's dźwięk oryginalny
862
Czasem w firmie jest kilka podsieci. Ruch pomiędzy nimi nie jest dozwolony. Aby zalogować się z jednej do drugiej trzeba użyć hosta przesiadkowego. Czasem zwanego jumphost lub gateway.

Kopiowanie plików pomiędzy hostem w jednej podsieci, a hostem w drugiej odbywa się także poprzez host przesiadkowy. Dopóki pliki są niewielkie a operacja sporadyczna da się żyć.

Ja miałem skopiować wiele dużych plików w jak najkrótszym czasie.

Próbowałem komendy jak ta:
scp zdalne_źródło zdalny_cel
wydanej z hosta przesiadkowego.

Nie zadziałała ponieważ scp próbuje skomunikować oba hosty ze sobą. Bez pośrednictwa przesiadkowego.

W sukurs przychodzi opcja -3:
scp -3 zdalne_źródło zdalny_cel

Taka komenda wydana z hosta przesiadkowego transferuje dane via host przesiadkowy.

Czyli dane lecą ze zdalnego hosta źródłowego do hosta przesiadkowego. Na hoście przesiadkowym nie są zapisywane tylko od razu transferowane do zdalnego hosta docelowego.

Przyda Ci się?

#scp #marcinbadtke #dc #dlaciebie
Typy datoczasowe: date, time, timestamp pozwalają na przychowanie punktu w czasie, a typ interval przechowuje czas trwania. Innymi słowy ilość czasu.

Okres, czyli odcinek czasu określany punktem początkowym i punktem końcowym, możesz znać z konstrukcji podobnych do tej:

CREATE TABLE t (
  id        integer
  .
  ,początek date
  ,koniec   date
);

Jeśli tak to skomplikowane zapytania zwracające zachodzące na siebie okresy czasu czy pokrywające się okresy czasu zapewne także nie są Ci obce.

Podobnie jak znalezienie okresu wcześniejszego, późniejszego czy sprawdzenie czy data zawiera się w okresie.

Standard SQL:2011 przynosi wybawienie od tych bolączek w postaci słowa kluczowego PERIOD.

Jego użycie jest bardzo proste i nie wymaga konwersji istniejących danych. Można to zrobić w sposób podobny do tego:

CREATE TABLE t (
  id        integer
  .
  ,początek date
  ,koniec   date
  PERIOD FOR okres (początek, koniec)
);

Dzięki takiej konstrukcji zapytania testujące czy data zawiera się w okresie mogą zmianić swoją klasyczną postać:

SELECT * FROM t WHERE
początek <= sysdate
AND koniec > sysdate;

Na prostszą:

SELECT * FROM t WHERE
okres CONTAINS sysdate;

Także zapytanie wykrywające zachodzące na siebie okresy będzie bardziej czytelne:

SELECT * FROM t WHERE
okres OVERLAPS
PERIOD(DATE'2022-05-20', DATE'2023-05-20');

Zdefiniowany okres może być użyty w więzach integralności. Na przykład w kluczu głównym:

CREATE TABLE t (
  id        integer
  .
  ,początek date
  ,koniec   date
  PERIOD FOR okres(początek, koniec)
  PRIMARY KEY(id, okres WITHOUT OVERLAPS)
);

Inne predykaty:
EQUALS
PRECEDES
SUCCEEDS
IMMEDIATELY PRECEDES/SUCCEEDS

Zalety użycia PERIOD oprócz standardowych kolumn początek i koniec:
- zautomatyzowanie operacji INSERT/UPDATE/DELETE - motor bazy danych pilnuje aby odpowiednie rekordy pojawiły się w tabeli
- uproszczenie kodu aplikacji - twórca aplikacji nie musi pisać, nierzadko, skomplikowanych zapytań sprawdzających zachodzenie czy pokrywanie okresów
- klauzula wykorzystuje istniejące kolumny. Jej użycie obywa się bez kosztownej konwersji danych
- standard SQL

Oracle od 12c
SQL Server od 2016 + Azure

PERIOD NIE jest nowym typem. To klauzula wiążąca istniejące kolumny

#sql #bazydanych #oracle #SQLServer
Prosty sposób na wyekspirowane hasło w #oracledatabase :

Opcja 'Reset Password' w #SqlDeveloper .

Prawy przycisk myszy na nazwie połączenia wcześniej.

Wpisujesz aktualne i 2x nowe.

Klikasz OK i gotowe :-)

#bazydanych #sql #oracle #marcinbadtke
Używasz partycjonowania? To zwróć uwagę na te 2 rzeczy: 

#1 Czy masz indeks na kolumnie, która jest kluczem partycjonowania? 

Gdy indeks istnieje, a komendy SQL używają kolumny w klauzuli where to optymalizator może zawęzić plan wykonania jedynie do partycji zawierających dane z zadanego zakresu. Ta funkcjonalność nazywa się partition pruning.

#2 czy indeksy na tabeli są globalne czy lokalne? 

Indeksy lokalne czyli partycjonowane identycznie jak tabela są tańsze w utrzymaniu i wydajniejsze w użyciu. 

Skomentuj jak Tobie idzie z partycjonowaniem?

#bazydanych #sql #marcinbadtke #oracle #postgresql
Get TikTok App