CONTENT
- CHANGES
Szukaj
#top Przydatne informacje¶
- Przydatne informacje
- Timeout
- Database Storage Layout
- Tablespace
- SQL JOIN Visual Explanation
- SQL JOIN INNER JOIN
- SQL JOIN LEFT JOIN
- SQL JOIN RIGHT JOIN
- SQL JOIN FULL JOIN
- SQL JOIN LEFT JOIN IS NULL
- SQL JOIN RIGHT JOIN IS NULL
- SQL JOIN FULL JOIN IS NULL
- SQL JOIN CROSS JOIN
- Database Objects Size
- Find Multiple Indexes
- Find Duplicate Indexes
- Find Unused Indexes
- Performance Tuning
#top Timeout¶
Zobacz także Timeout dla: Apache | Nginx | Lighttpd | thttpd | HAProxy | Varnish | SQUID
Zobacz także Timeout dla: ProFTPd | Pure-FTPd | vsftpd | Dovecot | Postfix | OpenLDAP
Zobacz także Timeout dla: pgpool | PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase
(Zobacz sekcję Timeout)
#top Database Storage Layout¶
Zobacz także Database Storage Layout dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase
#top Tablespace¶
Zobacz także Tablespace dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase
Definicja:
Dokumentacja MsSQL:
Dokumentacja MsSQL: Zapytania SQL:
Zapytania SQL: Składnia SQL: CREATE TABLESPACE | ALTER TABLESPACE | DROP TABLESPACE
#top SQL JOIN Visual Explanation¶
Zobacz także SQL JOIN Visual Explanation dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase
Dokumentacja MsSQL: SELECT (Transact-SQL) - Logical Processing - JOIN, FROM (Transact-SQL)
SQL JOIN jak sama nazwa wskazuje jest to zapytanie łączące, a dokładniej zapytanie pobierające dane z więcej niż jednej tabeli łączące wybierane wiersze po wspólnej kolumnie.
Dostępnych jest wiele możliwości łączenia tabel zaleźnych od dopasowania wierszy. Wyróżnić można następujące typy łączenia tabel:
[INNER] JOIN
- słowo kluczowe INNER jest opcjonalne, złączenia JOIN i INNER JOIN są równoważne,LEFT [OUTER] JOIN
- słowo kluczowe OUTER jest opcjonalne, złączenia LEFT JOIN i LET OUTER JOIN są równoważne,RIGHT [OUTER] JOIN
- słowo kluczowe OUTER jest opcjonalne, złączenia RIGHT JOIN i RIGHT OUTER JOIN są równoważne,FULL [OUTER] JOIN
- słowo kluczowe OUTER jest opcjonalne, złączenia FULL JOIN i FULL OUTER JOIN są równoważne,CROSS JOIN
-- utworzenie tabel CREATE TABLE join01 ( idjoin integer NOT NULL, name varchar(255) NOT NULL, PRIMARY KEY(idjoin) ); CREATE TABLE join02 ( idjoin integer NOT NULL, name varchar(255) NOT NULL, PRIMARY KEY(idjoin) ); -- dodanie przykładowych danych INSERT INTO join01(idjoin,name) VALUES(1,'t01name01'); INSERT INTO join01(idjoin,name) VALUES(2,'t01name02'); INSERT INTO join01(idjoin,name) VALUES(3,'t01name03'); INSERT INTO join01(idjoin,name) VALUES(4,'t01name04'); INSERT INTO join01(idjoin,name) VALUES(5,'t01name05'); INSERT INTO join02(idjoin,name) VALUES(3,'t02name03'); INSERT INTO join02(idjoin,name) VALUES(4,'t02name04'); INSERT INTO join02(idjoin,name) VALUES(5,'t02name05'); INSERT INTO join02(idjoin,name) VALUES(6,'t02name06'); INSERT INTO join02(idjoin,name) VALUES(7,'t02name07');
#top SQL JOIN INNER JOIN¶
Zobacz także SQL JOIN INNER JOIN dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase

Przykład bez słowa kluczowego INNER oraz ze słowem kluczowym INNER
SELECT * FROM join01 JOIN join02 ON (join01.idjoin=join02.idjoin); SELECT * FROM join01 INNER JOIN join02 ON (join01.idjoin=join02.idjoin);
|idjoin|name |idjoin|name | +------+---------+------+---------+ |3 |t01name03|3 |t02name03| |4 |t01name04|4 |t02name04| |5 |t01name05|5 |t02name05| Retrieved 3 rows in 0.006 seconds.
#top SQL JOIN LEFT JOIN¶
Zobacz także SQL JOIN LEFT JOIN dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase

Przykład bez słowa kluczowego OUTER oraz ze słowem kluczowym OUTER
SELECT * FROM join01 LEFT JOIN join02 ON (join01.idjoin=join02.idjoin); SELECT * FROM join01 LEFT OUTER JOIN join02 ON (join01.idjoin=join02.idjoin);
|idjoin|name |idjoin|name | +------+---------+------+---------+ |1 |t01name01| | | |2 |t01name02| | | |3 |t01name03|3 |t02name03| |4 |t01name04|4 |t02name04| |5 |t01name05|5 |t02name05| Retrieved 5 rows in 0.005 seconds.
#top SQL JOIN RIGHT JOIN¶
Zobacz także SQL JOIN RIGHT JOIN dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase

Przykład bez słowa kluczowego OUTER oraz ze słowem kluczowym OUTER
SELECT * FROM join01 RIGHT JOIN join02 ON (join01.idjoin=join02.idjoin); SELECT * FROM join01 RIGHT OUTER JOIN join02 ON (join01.idjoin=join02.idjoin);
|idjoin|name |idjoin|name | +------+---------+------+---------+ |3 |t01name03|3 |t02name03| |4 |t01name04|4 |t02name04| |5 |t01name05|5 |t02name05| | | |6 |t02name06| | | |7 |t02name07| Retrieved 5 rows in 0.006 seconds.
#top SQL JOIN FULL JOIN¶
Zobacz także SQL JOIN FULL JOIN dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase

Przykład bez słowa kluczowego OUTER oraz ze słowem kluczowym OUTER
SELECT * FROM join01 FULL JOIN join02 ON (join01.idjoin=join02.idjoin); SELECT * FROM join01 FULL OUTER JOIN join02 ON (join01.idjoin=join02.idjoin);
|idjoin|name |idjoin|name | +------+---------+------+---------+ |1 |t01name01| | | |2 |t01name02| | | |3 |t01name03|3 |t02name03| |4 |t01name04|4 |t02name04| |5 |t01name05|5 |t02name05| | | |6 |t02name06| | | |7 |t02name07| Retrieved 7 rows in 0.007 seconds.
#top SQL JOIN LEFT JOIN IS NULL¶
Zobacz także SQL JOIN LEFT JOIN IS NULL dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase

Przykład bez słowa kluczowego OUTER oraz ze słowem kluczowym OUTER
SELECT * FROM join01 LEFT JOIN join02 ON (join01.idjoin=join02.idjoin) WHERE join02.idjoin IS NULL; SELECT * FROM join01 LEFT OUTER JOIN join02 ON (join01.idjoin=join02.idjoin) WHERE join02.idjoin IS NULL;
|idjoin|name |idjoin|name| +------+---------+------+----+ |1 |t01name01| | | |2 |t01name02| | | Retrieved 2 rows in 0.182 seconds.
#top SQL JOIN RIGHT JOIN IS NULL¶
Zobacz także SQL JOIN RIGHT JOIN IS NULL dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase

Przykład bez słowa kluczowego OUTER oraz ze słowem kluczowym OUTER
SELECT * FROM join01 RIGHT JOIN join02 ON (join01.idjoin=join02.idjoin) WHERE join01.idjoin IS NULL; SELECT * FROM join01 RIGHT OUTER JOIN join02 ON (join01.idjoin=join02.idjoin) WHERE join01.idjoin IS NULL;
|idjoin|name|idjoin|name | +------+----+------+---------+ | | |6 |t02name06| | | |7 |t02name07| Retrieved 2 rows in 0.056 seconds.
#top SQL JOIN FULL JOIN IS NULL¶
Zobacz także SQL JOIN FULL JOIN IS NULL dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase

Przykład bez słowa kluczowego OUTER oraz ze słowem kluczowym OUTER
SELECT * FROM join01 FULL JOIN join02 ON (join01.idjoin=join02.idjoin) WHERE join01.idjoin IS NULL OR join02.idjoin IS NULL; SELECT * FROM join01 FULL OUTER JOIN join02 ON (join01.idjoin=join02.idjoin) WHERE join01.idjoin IS NULL OR join02.idjoin IS NULL;
|idjoin|name |idjoin|name | +------+---------+------+---------+ |1 |t01name01| | | |2 |t01name02| | | | | |6 |t02name06| | | |7 |t02name07| Retrieved 4 rows in 0.128 seconds.
#top SQL JOIN CROSS JOIN¶
Zobacz także SQL JOIN CROSS JOIN dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase
SELECT * FROM join01 CROSS JOIN join02;
|idjoin|name |idjoin|name | +------+----------+------+---------+ |1 |t01name01 |3 |t02name03| |2 |t01name02 |3 |t02name03| |3 |t01name03 |3 |t02name03| |4 |t01name04 |3 |t02name03| |5 |t01name05 |3 |t02name03| |1 |t01name01 |4 |t02name04| |2 |t01name02 |4 |t02name04| |3 |t01name03 |4 |t02name04| |4 |t01name04 |4 |t02name04| |5 |t01name05 |4 |t02name04| |1 |t01name01 |5 |t02name05| |2 |t01name02 |5 |t02name05| |3 |t01name03 |5 |t02name05| |4 |t01name04 |5 |t02name05| |5 |t01name05 |5 |t02name05| |1 |t01name01 |6 |t02name06| |2 |t01name02 |6 |t02name06| |3 |t01name03 |6 |t02name06| |4 |t01name04 |6 |t02name06| |5 |t01name05 |6 |t02name06| |1 |t01name01 |7 |t02name07| |2 |t01name02 |7 |t02name07| |3 |t01name03 |7 |t02name07| |4 |t01name04 |7 |t02name07| |5 |t01name05 |7 |t02name07| Retrieved 25 rows in 0.007 seconds.
#top Database Objects Size¶
Zobacz także Database Objects Size dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase
#top Find Multiple Indexes¶
Zobacz także Find Multiple Indexes dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase
Więcej informacji w analogicznym zagadnieniu: Find Duplicate Indexes
#top Find Duplicate Indexes¶
Zobacz także Find Duplicate Indexes dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase
#top Find Unused Indexes¶
Zobacz także Find Unused Indexes dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase
Dokumentacja MsSQL: Finding Missing Indexes and Unused Indexes using DMVs
#top Performance Tuning¶
Zobacz także Performance Tuning dla: PostgreSQL | MySQL | Firebird | SQLite | MsSQL | Oracle | DB2 | Informix | Sybase
Zmodyfikowany ostatnio: 2018/02/04 22:25:05 (7 lat temu),
textsize: 18,1 kB,
htmlsize: 33,5 kB
Zapraszam do komentowania, zgłaszania sugestii, propozycji, własnych przykładów, ...
Dodaj komentarzKomentarze użytkowników