php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.03.2010, 11:33  
Neuer Benutzer
 
Registriert seit: 21.01.2010
Beiträge: 7
PHP-Kenntnisse:
Fortgeschritten
schumiel befindet sich auf einem aufstrebenden Ast
Standard Sortierungspriorität bei MySQL?

Hallo,

stimmen folgende Aussagen?

SELECT ... FROM ... WHERE test1 = 1 AND test2 = 2 wird zuerst nach test1 sortiert, egal ob beide zusammen einen Index gesetzt bekommen haben?

Wie verhält es sich bei INNER JOINS?
schumiel ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 08.03.2010, 11:45  
¯\_(ツ)_/¯
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.814
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Da wird überhaupt nicht sortiert! Sortiert wird nur mit der ORDER BY Klausel! Bei dir werden die Einträge einfach der Reihe nach ausgegeben.

Bei ORDER BY kannst du dann Prioritäten angeben:

Code:
ORDER BY spalte_1 DESC, spalte_2 ASC
Flor1an ist offline   Mit Zitat antworten
Alt 08.03.2010, 11:52  
Neuer Benutzer
 
Registriert seit: 21.01.2010
Beiträge: 7
PHP-Kenntnisse:
Fortgeschritten
schumiel befindet sich auf einem aufstrebenden Ast
Standard


Ich meinte auch gar nicht sortieren, sondern die WHERE-Bedingungen. Sorry.

Also stimmen die Aussagen?
schumiel ist offline   Mit Zitat antworten
Alt 08.03.2010, 12:34  
¯\_(ツ)_/¯
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.814
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Das kann ich dir so genau nicht sagen. Nutz mal EXPLAIN bei der Abfrage, dann siehst du welche Algorithmen und welche Indizes genutzt wurden.
Flor1an ist offline   Mit Zitat antworten
Alt 09.03.2010, 00:02  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Was ist denn nun die genaue Frage?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 09.03.2010, 11:21  
Neuer Benutzer
 
Registriert seit: 21.01.2010
Beiträge: 7
PHP-Kenntnisse:
Fortgeschritten
schumiel befindet sich auf einem aufstrebenden Ast
Standard

Mir wurde gesagt, dass bei einer WHERE-Bedingung, SQL die erste Bedingung zuerst "vorsucht" und dann erst die nächsten Bedingungen. Also sozusagen step-by-step. Diese Aussage wiederspricht sich aber dabei, wenn ich mehrere Bedingungen indiziere. Daher weiß ich nicht, was ist jetzt richtig?
schumiel ist offline   Mit Zitat antworten
Alt 09.03.2010, 11:26  
Erfahrener Benutzer
 
Registriert seit: 24.10.2008
Beiträge: 291
PHP-Kenntnisse:
Fortgeschritten
KarlEgon befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Nutz mal EXPLAIN bei der Abfrage
KarlEgon ist offline   Mit Zitat antworten
Alt 09.03.2010, 11:51  
thomas_w
Gast
 
Beiträge: n/a
Standard

Beispiel:

Code:
SELECT * FROM tabelle
 WHERE col1 = 10 AND col2 = 20
Dies bedeutet nicht zwingend, dass MySQL zuerst nach der Spalte "col1" und dann nach der Spalte "col2" sucht. Wird diese SQL-Abfrage an MySQL geschickt, dann entscheidet der Optimizer, wie er am Schnellsten die gewünschten Daten findet. Die Entscheidung des Optimizers läßt sich mit EXPLAIN anzeigen und hilft bei der Performanceanalyse (wenn mal eine Abfrage zu langsam ist)

Code:
EXPLAIN SELECT ....
Grüße
Thomas

Geändert von thomas_w (09.03.2010 um 11:54 Uhr). Grund: Schreibfehler
  Mit Zitat antworten
Alt 16.03.2010, 22:50  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Ich glaube, Du meinst eher

Code:
SELECT ... FROM ... WHERE test1 = 1 OR test2 = 2
Dabei entsteht u.U. eine Art Sortierung, weil die erste Bedingung zuerst geprüft wird, selbst wenn beide Bedingungen zutreffen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MySQL Verbindung zu fremden Server Xanatus Datenbanken 5 27.05.2009 14:13
[Erledigt] Kann keine Umlaute im mysql client eingeben Oger Datenbanken 9 02.04.2009 11:54
MySQL Konsole und Umlaute unter Windows [LÖSUNG] f4ckm5 Datenbanken 8 30.03.2009 22:10
GUI-Tool kann sich nicht mit MySql verbinden KWitt72 PHP Tipps 2008 3 21.12.2008 16:56
[Erledigt] MySQL - ERROR 1044 bei erstellen einer Datenbank _youngenterpriser_ Datenbanken 2 05.02.2008 17:56
Mysql Server Einstellunen Optimieren pchero Datenbanken 3 01.05.2007 19:50
[Erledigt] MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
[Erledigt] Kein Zugriff über ODBC mit der IP-Adresse auf MySql DB Datenbanken 4 09.02.2006 11:04
Mysql 4.1.x unter php 4.3.9 Datenbanken 3 15.11.2005 13:49
[Erledigt] Schnittstelle zwischen PHP und MySQL klappt net !!! Datenbanken 16 16.10.2005 14:24
[Erledigt] not allowed to connect to this MySQL server PHP Tipps 2005-2 2 23.09.2005 18:34
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
[Erledigt] Access denied for user: '@localhost' / SYSTEM@localhost Datenbanken 0 10.11.2004 20:35
PHP5 & MySQL Datenbanken 5 01.08.2004 05:47

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql suche spalten priorität, mysql or beide bedingungen stimmen, mysql php sortierung bedingung

Alle Zeitangaben in WEZ +1. Es ist jetzt 09:56 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum