php-resource



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

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


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

Thema geschlossen
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 20-02-2011, 01:47
Haxley
 Registrierter Benutzer
Links : Onlinestatus : Haxley ist offline
Registriert seit: Oct 2006
Beiträge: 14
Haxley ist zur Zeit noch ein unbeschriebenes Blatt
Standard Mehrere Join abfragen dauern über 1 min

Hallo ich habe eine Abfrage über mehrere Tabellen und verwende dazu mehrere Join. Leider dauert die Abfrage ewig (über 1 min)
PHP-Code:
$query erp_db_query (" SELECT a.uid FROM import_products a
    LEFT JOIN import_product_to_cat b ON a.uid = b.productID
    LEFT JOIN import_igno c ON a.uid = c.uid 
    LEFT JOIN artikelliste d ON a.uid = d.artikelnr_id 
    WHERE d.artikelnr_id IS NULL AND c.uid IS NULL   "
); 
import_products hat ca. 30000 Einträge und ich will alle anzeigen die nicht in artikelliste oder import_igno stehen. Die Abfrage funktioniert auch aber dauert halt ewig.
Die Indexe sind richtig gesetzt (denke ich mal)
PHP-Code:
CREATE TABLE `import_products` (
    `
uidVARCHAR(15NOT NULL DEFAULT '0',
    `
manufacturerNameVARCHAR(50NULL DEFAULT NULL COLLATE 'latin1_german1_ci',    
    `
productDescripionVARCHAR(500NULL DEFAULT NULL,
    
INDEX `uid` (`uid`)
)
ENGINE=MyISAM
ROW_FORMAT
=DEFAULT 
PHP-Code:
CREATE TABLE `artikelliste` (
    `
artikelnr_idVARCHAR(15NOT NULL DEFAULT '',
    `
products_idINT(11NOT NULL DEFAULT '6000',
    
INDEX `artikelnr_id` (`artikelnr_id`)
)
ENGINE=MyISAM
ROW_FORMAT
=DEFAULT 
PHP-Code:
CREATE TABLE `import_product_to_cat` (
    `
productIDVARCHAR(15NOT NULL DEFAULT '0',
    `
catIdINT(15NULL DEFAULT NULL,
    
INDEX `productID` (`productID`)
)
ENGINE=MyISAM
ROW_FORMAT
=DEFAULT 
PHP-Code:
CREATE TABLE `import_igno` (
    `
uidVARCHAR(15NOT NULL DEFAULT '',
    `
productNameVARCHAR(120NOT NULL DEFAULT '',
    `
date_addedTIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    
INDEX `uid` (`uid`)
)
ENGINE=MyISAM
ROW_FORMAT
=DEFAULT 
Was ist da falsch das die Abfrage so lange dauert?
Ich hab herausgefunden das es das LEFT JOIN artikelliste d ON a.uid = d.artikelnr_id ist was so lange dauert. (artikelliste hat ca. 6000 Einträge, import_igno ist noch leer)

Ein ("EXPLAIN SELECT.... bringt mir keine Anzeige sondern bei mysql_num_rows nur eine 4 satt 30000, komisch.

Wer hat eine Idee was ich optimieren muss um die Abfrage zu beschleunigen?
Normal dürfte die doch max. 0,1 sec dauern.

Besten Dank
Gruß Haxley
XAMPP auf WIN XP mit Mysql 5.0.51 und php 5.2
  #2 (permalink)  
Alt 20-02-2011, 08:48
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.589
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Hast du überhaupt keine Primary Keys???
  #3 (permalink)  
Alt 21-02-2011, 17:15
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

[Erledigt] 3x join dauert ewig, kann man das optimieren? - php.de

*close*
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Thema geschlossen

Lesezeichen


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Join über mehrere Tabellen Martin31 SQL / Datenbanken 2 19-10-2009 01:26
WHERE über mehrere Einträge ohne JOIN ministry SQL / Datenbanken 2 29-06-2006 13:07
Abfrage über mehrere Tabellen mit Join Paulsen SQL / Datenbanken 1 13-04-2006 17:47
Count in Verbindung mit Join über mehrere Tabellen Thommy SQL / Datenbanken 3 07-04-2002 12:19
join über mehrere tabellen odi SQL / Datenbanken 2 21-03-2002 12:08

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

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
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

11.10.2018 Berni | Kategorie: PHP/ Anzeigenmarkt
PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:01 Uhr.