In einem einfachen Abstimmungssystem als CREATE TABLE elections ( election_id int(11) NOT NULL AUTO_INCREMENT, title varchar(255), CREATE TABLE votes ( election_id int(11), user_id int(11), FOREIGN KEYs Um die Liste der Wahlen zu erhalten, die ein Benutzer gewählt hat, wird der folgende JOIN verwendet SELECT * FROM elections JOIN votes USING(election_id) …
Ich hätte gerne eine Expertenmeinung zu Best Practices, wenn es um die Benennung von Spalten geht . Hintergrund ist laut Wikipedia folgende Syntax: SELECT ... FROM Employees JOIN Timesheets USING (EmployeeID); ist effizienter als SELECT ... FROM Employees JOIN Timesheets ON (Employees.EmployeeID = Timesheets.EmployeeID); Die JOIN ... USINGSyntax funktioniert jedoch …
Auf unserem SQL Server 2008 R2 müssen wir jede Nacht einige Berichte erstellen. Die Berechnung der Berichte dauert mehrere Stunden. Um die Zeit zu verkürzen, berechnen wir eine Tabelle vor. Diese Tabelle basiert auf der Verknüpfung von 12 recht großen (zig Millionen Zeilen) Tabellen. Die Berechnung dieser Aggregationstabelle dauerte bis …
Nachdem ich Slow SQL-Abfragen gelesen hatte und nicht sicher war, wie ich sie optimieren sollte , dachte ich über die allgemeine Leistung von Abfragen nach. Sicherlich müssen die Ergebnisse der ersten Tabelle (wenn andere Tabellen verknüpft werden) vor dem Verknüpfen so klein wie möglich sein (innere Verknüpfungen für diese Frage), …
Wir betreiben eine Website mit 250-mm-Zeilen in einer Tabelle und in einer anderen Tabelle, mit der wir sie für die meisten Abfragen verknüpfen, mit knapp 15-mm-Zeilen. Beispielstrukturen: MasterTable (Id, UserId, Created, Updated...) -- 15MM Rows DetailsTable (Id, MasterId, SomeColumn...) -- 250MM Rows UserTable (Id, Role, Created, UserName...) -- 12K Rows …
Angesichts dieses Setups in aktuellem Postgres 9.4 ( aus dieser verwandten Frage ): CREATE TABLE foo (ts, foo) AS VALUES (1, 'A') -- int, text , (7, 'B'); CREATE TABLE bar (ts, bar) AS VALUES (3, 'C') , (5, 'D') , (9, 'E'); Es gibt auch eine SQL-Geige aus der …
Warum verwendet SQL Server Parallelität, wenn diese Abfrage ausgeführt wird, die eine Unterabfrage verwendet, jedoch keine, wenn ein Join verwendet wird? Die Join-Version wird seriell ausgeführt und dauert ca. 30-mal länger. Join-Version: ~ 30secs Unterabfrage-Version: <1 Sekunde BEARBEITEN: XML-Versionen des Abfrageplans: JOIN-Version SUBQUERY-Version
Ich habe die folgenden Tabellen- und Indexdefinitionen: CREATE TABLE munkalap ( munkalap_id serial PRIMARY KEY, ... ); CREATE TABLE munkalap_lepes ( munkalap_lepes_id serial PRIMARY KEY, munkalap_id integer REFERENCES munkalap (munkalap_id), ... ); CREATE INDEX idx_munkalap_lepes_munkalap_id ON munkalap_lepes (munkalap_id); Warum wird in der folgenden Abfrage keiner der Indizes für munkalap_id verwendet? …
Ich habe Folgendes in einer Abfrage gesehen, die von der Oracle-Outer-Join-Syntax auf die SQL-Standard-Outer-Join-Syntax portiert werden sollte: SELECT ... FROM A, B, C, D, E WHERE A.A_ID = B.A_ID AND B.B_ID = C.A_ID(+) AND B.B_KEY = C.B_KEY(+) AND C.C_ID = D.C_ID(+) AND B.A_ID = E.A_ID(+) AND B.B_KEY = E.B_KEY(+) AND …
Ich habe eine commentsTabelle, die vereinfacht werden kann: comments ======= id user_id text parent_id where parent_idist nullwertfähig, kann jedoch ein Schlüssel für den übergeordneten Kommentar sein. Wie kann ich nun selectalle Nachkommen eines bestimmten Kommentars? Die Kommentare können mehrere Ebenen tiefer sein ...
Wenn ich so eine Frage schreibe ... select * from table1 t1 join table2 t2 on t1.id = t2.id Ist sich der SQL-Optimierer nicht sicher, ob das der richtige Begriff ist? Übersetzen Sie dies in ... select * from table1 t1, table2 t2 where t1.id = t2.id Ist die Join-Anweisung …
Wir haben eine Tabelle, in der wir Antworten auf Fragen speichern. Wir müssen in der Lage sein, Benutzer zu finden, die bestimmte Antworten auf bestimmte Fragen haben. Also, wenn unsere Tabelle aus folgenden Daten besteht: user_id question_id answer_value Sally 1 Pooch Sally 2 Peach John 1 Pooch John 2 Duke …
Ich habe zwei Tabellen in einer PostgreSQL 9.3-Datenbank: Tabelle link_replyhat einen Fremdschlüssel mit dem Namen which_group, der auf Tabelle zeigt link_group. Ich möchte alle Zeilen löschen, in link_groupdenen keine verwandte Zeile link_replyvorhanden ist. Klingt einfach genug, aber ich habe damit zu kämpfen. Wird es so etwas Einfaches sein (funktioniert nicht)? …
PostgreSQL mit Standardeinstellungen, plus default_statistics_target=1000 random_page_cost=1.5 Ausführung PostgreSQL 10.4 on x86_64-pc-linux-musl, compiled by gcc (Alpine 6.4.0) 6.4.0, 64-bit Ich habe gesaugt und analysiert. Die Abfrage ist sehr einfach: SELECT r.price FROM account_payer ap JOIN account_contract ac ON ap.id = ac.account_payer_id JOIN account_schedule "as" ON ac.id = "as".account_contract_id JOIN schedule s …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.