SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 14.08.2007, 13:47:46
iamgodx iamgodx ist offline
Anfänger
 
Registriert seit: Aug 2007
Beiträge: 20
JOIN und INDEX

Hallo,

habe folgende Datenbankstruktur:

Tabelle a:
vorname,nachname,plz
Tabelle b:
plz,ortname

Mit folgenden Statement lasse ich mir vorname und nachname der Tabelle a sowie ein inner-gejointes ortname der Tabelle b:
select a.vorname,a.vorname,a.ortname where a.plz='80788' and b.plz=a.plz

Funktioniert soweit auch gut, das Problem ist dass MySQL keinen Index benutzt. Diese sind sowohl auf plz in der Tabelle a angelegt als auch in der Tabelle b.
EXPLAIN gibt folgendes aus:
Code:
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: b
         type: ref
possible_keys: plz
          key: plz
      key_len: 17
          ref: const
         rows: 1
        Extra: Using where
*************************** 2. row ***************************
           id: 1
  select_type: SIMPLE
        table: a
         type: ref
possible_keys: plz
          key: plz
      key_len: 17
          ref: const
         rows: 90
        Extra: Using where
2 rows in set (0.06 sec)
Wenn ich dem SELECT-Statement das b.ortname weglasse, kann ein Index in der Tabelle benutzt werden:
Code:
mysql> EXPLAIN select a.vorname,a.vorname,a.ortname where a.plz='80788' and b.plz=a.plz\G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: b
         type: ref
possible_keys: plz
          key: plz
      key_len: 17
          ref: const
         rows: 1
        Extra: Using where; Using index
*************************** 2. row ***************************
           id: 1
  select_type: SIMPLE
        table: a
         type: ref
possible_keys: plz
          key: plz
      key_len: 17
          ref: const
         rows: 90
        Extra: Using where
2 rows in set (0.05 sec)
Sind die Index jeweils auf die Spalte zu wenig? Wie müsste der Index aussehen um auch beim ortsnamen JOIN genutzt werden zu können?
Danke für Ratschläge!

Gruß
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
mysql Performance Problem SELECT mit FORCE INDEX coller MySQLi/PDO/(MySQL) 0 19.04.2007 18:39:24
Zwei Aggregatfunktionen in JOIN über drei Tabellen Nico #949494 MySQLi/PDO/(MySQL) 1 29.03.2007 15:47:58
Doppelter Index nach Änderung ? lod_bodo MySQLi/PDO/(MySQL) 7 07.03.2006 22:50:45
SQL Abfrage (INNER JOIN) AlexWeber MySQLi/PDO/(MySQL) 6 08.10.2003 10:10:39
mysql query mit Join problem Silencer PHP für Fortgeschrittene und Experten 4 18.03.2003 16:38:31


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:23:05 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt