php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben || php-forumjetzt anmelden
 

SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 05-04-2005, 09:22
Blutgraf
 Newbie
Links : Onlinestatus : Blutgraf ist offline
Registriert seit: Nov 2002
Beiträge: 21
Blutgraf ist zur Zeit noch ein unbeschriebenes Blatt
Standard [MySQL 4.0] Geschwindigkeitsproblem

Hallo, ich habe folgenden SELECT Befehl nur leider dauert der bei mir ewig lang bei der der ausführung hat jemand eine Idee wie ich diesen SQL-Befehl tunen kann?


Code:
SELECT s.spot, s.x, s.y, s.width, s.height, r.part_id, r.part_nr, r.position, d.descr, p.pos,
r.amount, COUNT(*), r.is_group, t.id, t.parent, t2.field_value FROM Spots AS s
LEFT JOIN PartSpots AS p ON (s.spot = p.spot)
LEFT JOIN SpareParts AS r ON (p.pos_id = r.pos_id)
LEFT JOIN ElementDesc AS d ON r.pos_id = d.id_value AND d.tab_name = 'SpareParts AND d.language = 'GER')
LEFT JOIN PartSpots AS p2 ON (s.spot = p2.spot)
LEFT JOIN SparePartsTree AS t On (t.field_value = r.pos_id AND (t.level = 'part_group' || t.level = 'part'))
LEFT JOIN SparePartsTree AS t2 ON (t.parent = t2.id)
WHERE file_id = 45
GROUP BY s.spot, s.x, s.y, s.width, s.height, r.part_id, r.part_nr, r.position, d.descr, p.pos_id, r.amount
ORDER BY r.position, r.part_nr, r.part_id
Vorschläge, Ideen?
__________________
Unix Rulez
Mit Zitat antworten
  #2 (permalink)  
Alt 05-04-2005, 10:30
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: [MySQL 4.0] Geschwindigkeitsproblem

mal mit EXPLAIN anschauen ...?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 05-04-2005, 10:54
Blutgraf
 Newbie
Links : Onlinestatus : Blutgraf ist offline
Registriert seit: Nov 2002
Beiträge: 21
Blutgraf ist zur Zeit noch ein unbeschriebenes Blatt
Standard

table - type - possible_keys - key - key_len - ref - rows - Extra

s - ALL - n/a - n/a - n/a - n/a - 860 - where used; Using temporary; Using filesort
p - index - n/a - PRIMARY - 16 - n/a - 894 - Using index
r - eq_ref - PRIMARY, i_pos - PRIMARY - 8 - p.pos_id - 1 - n/a
d - eq_ref - PRIMARY, i_id_value - PRIMARY - 38 - const, r.post_id, cons - 1 - n/a
p2 - index - n/a - PRIMARY - 16 - n/a - 894 - Using index
t - ref - i_value, i_level - i_value - 4 - r.pos_id - 18 - n/a
t2 -ref - i_id - i_value - 8 - t.parent - 16 - n/a


ideen?
__________________
Unix Rulez
Mit Zitat antworten
  #4 (permalink)  
Alt 05-04-2005, 11:21
Blutgraf
 Newbie
Links : Onlinestatus : Blutgraf ist offline
Registriert seit: Nov 2002
Beiträge: 21
Blutgraf ist zur Zeit noch ein unbeschriebenes Blatt
Standard

sorry fehler folgende werte sind richtig:

table - type - possible_keys - key - key_len - ref - rows - Extra

s - ALL - n/a - n/a - n/a - n/a - 136001 - where used; Using temporary; Using filesort
p - index - n/a - PRIMARY - 16 - n/a - 135368 - Using index
r - eq_ref - PRIMARY, i_pos - PRIMARY - 8 - p.pos_id - 1 - n/a
d - eq_ref - PRIMARY, i_id_value - PRIMARY - 38 - const, r.post_id, cons - 1 - n/a
p2 - index - n/a - PRIMARY - 16 - n/a - 135368 - Using index
t - ref - i_value, i_level - i_value - 4 - r.pos_id - 1- n/a
t2 -ref - i_id - i_value - 8 - t.parent - 1 - n/a
__________________
Unix Rulez
Mit Zitat antworten
  #5 (permalink)  
Alt 05-04-2005, 11:28
TBT
  Moderator
Links : Onlinestatus : TBT ist offline
Registriert seit: Sep 2002
Ort: Berlin
Beiträge: 2.787
TBT befindet sich auf einem aufstrebenden Ast
TBT eine Nachricht über ICQ schicken TBT eine Nachricht über AIM schicken TBT eine Nachricht über Yahoo! schicken
Standard

file_id ist in der Tabelle spots?
wenn ja, leg mal einen Index darauf
__________________
TBT

Die zwei wichtigsten Regeln für eine berufliche Karriere:
1. Verrate niemals alles was du weißt!


PHP 2 AllPatrizier II Browsergame
Mit Zitat antworten
  #6 (permalink)  
Alt 05-04-2005, 11:40
Blutgraf
 Newbie
Links : Onlinestatus : Blutgraf ist offline
Registriert seit: Nov 2002
Beiträge: 21
Blutgraf ist zur Zeit noch ein unbeschriebenes Blatt
Standard

gesagt getan, bringt leider keinen erfolg,
__________________
Unix Rulez
Mit Zitat antworten
  #7 (permalink)  
Alt 05-04-2005, 12:15
TBT
  Moderator
Links : Onlinestatus : TBT ist offline
Registriert seit: Sep 2002
Ort: Berlin
Beiträge: 2.787
TBT befindet sich auf einem aufstrebenden Ast
TBT eine Nachricht über ICQ schicken TBT eine Nachricht über AIM schicken TBT eine Nachricht über Yahoo! schicken
Standard

zeig mal das neue Explain
__________________
TBT

Die zwei wichtigsten Regeln für eine berufliche Karriere:
1. Verrate niemals alles was du weißt!


PHP 2 AllPatrizier II Browsergame
Mit Zitat antworten
  #8 (permalink)  
Alt 05-04-2005, 14:27
Blutgraf
 Newbie
Links : Onlinestatus : Blutgraf ist offline
Registriert seit: Nov 2002
Beiträge: 21
Blutgraf ist zur Zeit noch ein unbeschriebenes Blatt
Standard

table type possible_keys key key_len ref rows Extra
s ref i_fileid i_fileid 8 const 42 where used; Using temporary; Using filesort
p index NULL PRIMARY 16 NULL 135368 Using index
r eq_ref PRIMARY,i_pos PRIMARY 8 p.pos_id 1
d eq_ref PRIMARY,i_id_value PRIMARY 38 const,r.pos_id,const 1
p2 index NULL PRIMARY 16 NULL 135368 Using index
t ref i_value,i_level i_value 4 r.pos_id 1
t2 ref i_id i_id 8 t.parent 1
__________________
Unix Rulez
Mit Zitat antworten
  #9 (permalink)  
Alt 05-04-2005, 15:03
TBT
  Moderator
Links : Onlinestatus : TBT ist offline
Registriert seit: Sep 2002
Ort: Berlin
Beiträge: 2.787
TBT befindet sich auf einem aufstrebenden Ast
TBT eine Nachricht über ICQ schicken TBT eine Nachricht über AIM schicken TBT eine Nachricht über Yahoo! schicken
Standard

noch ein Indix auf PartSpots.spots legen
__________________
TBT

Die zwei wichtigsten Regeln für eine berufliche Karriere:
1. Verrate niemals alles was du weißt!


PHP 2 AllPatrizier II Browsergame
Mit Zitat antworten
  #10 (permalink)  
Alt 05-04-2005, 15:19
Sebastian W
 Member
Links : Onlinestatus : Sebastian W ist offline
Registriert seit: Dec 2002
Ort: München
Beiträge: 295
Sebastian W ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Folgende Indexe solltest du haben:

Spots:
spot_x _y_width_height

SpareParts:
spot

und:


part_id_part_nr_position_amount

eventuell auch noch:

position_part_nr_part_id

ElementDesc:
id_value_tab_name_language

etc.

Oder wird bei einem GROUP BY kein Index benutzt?

Nachtrag:
Verhält sich leider doch anders. Bei einem GROUP BY kann man anscheinend nur einen Index anlegen wenn man die gleichen Daten als Ausgabe haben möchte. Wenn eine weitere Spalte aus der Tabelle gebraucht wird die nicht im GROUP BY definiert ist, greift der Index nicht mehr.

In Deinem Fall sollte es also funktionieren.
__________________
Grüsse,
Sebastian


Profil Flex Freelancer
Twitter twitter.com/flashhilfe
Web Flash und Flex Community

Geändert von Sebastian W (05-04-2005 um 15:29 Uhr)
Mit Zitat antworten
  #11 (permalink)  
Alt 05-04-2005, 15:28
Blutgraf
 Newbie
Links : Onlinestatus : Blutgraf ist offline
Registriert seit: Nov 2002
Beiträge: 21
Blutgraf ist zur Zeit noch ein unbeschriebenes Blatt
Standard

index auf partspots.spots war die lösung sql-laufzeit ging von 33,03 Sek auf 0.06 sekunden runter danke alle zusammen
__________________
Unix Rulez
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

OnPremise versus Cloud - das richtige System finden
Wir beleuchten in diesem Artikel, die Vor- und Nachteile für Cloud oder OnPremise Systemen. Und warum es definitiv Zeit wird in die Cloud zu wechseln.

09.05.2022 | julia_mjr

Warum Texterstellung mit künstlicher Intelligenz richtig gut ist
Warum Texterstellung mit künstlicher Intelligenz richtig gut istKünstliche Intelligenz ist dabei, die Welt zu erobern. Die größten Unternehmen entwickeln Systeme, die einen Text für Sie schreiben können. Und sie machen das sehr gut.

05.01.2022 | Berni


 

Aktuelle PHP Scripte

MyPHPlib-Bibliotheksverwaltung

MyPHPlib ist eine Scriptsammlung, mit der die Bibliotheksverwaltung incl. Ausleihe und Recherche gelingt. Die Scriptsammlung wird seit Mitte 2005 entwickelt und ist besonders an den Bedürfnissen von Schulen angepasst.

27.07.2022 RobertG | Kategorie: PHP/ Management
ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

01.07.2022 Berni | Kategorie: PHP/ Anzeigenmarkt
NewsLetter Script PHP ansehen NewsLetter Script PHP

NewsLetter Script PHP is a simple email subscriptions newsletters script written in PHP and MySQL. Admin could send news in the letters to a mailing list of subscribed visitors. All the news and subscription form could be placed into a page of your web

28.06.2022 nevenov | Kategorie: PHP/ Mail
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:58 Uhr.