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 ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken 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 24.02.2011, 14:52:32
sinfo sinfo ist offline
Anfänger
 
Registriert seit: May 2003
Beiträge: 106
Like ...

Hallo,

Vielleicht kann mir jemand helfen.

--- Problem
Ich führe zwei unterschiedliche MySQL-Abfragen in einer Datenbank durch.

1) Eine erste Abfrage mit LIKE
Zitat:
Zitat:
SELECT count(*) FROM BiographyMaster WHERE Realname LIKE '%gaddafi%'
bzw.
Zitat:
SELECT * FROM BiographyMaster WHERE Realname LIKE '%gaddafi%'
2) Eine zweite Abfrage - ebenfalls mit LIKE
Zitat:
SELECT count(*) FROM BiographyMaster WHERE Realname LIKE 'gaddafi%'
bzw.
Zitat:
SELECT * FROM BiographyMaster WHERE Realname LIKE 'gaddafi%'


Durch die Menge an Datensätzen dauert die erste Abfrage EWIG. Die zweite Abfrage ist schnell. Über die Spalte Realname habe ich bereits einen Index gelegt


--- Frage
Wie kann ich die MySql Abfrage oder die Datenbank optimieren?
Mit Zitat antworten
  #2  
Alt 24.02.2011, 15:13:03
thomas_w thomas_w ist offline
Junior Member
 
Registriert seit: Aug 2010
Alter: 15
Beiträge: 395
AW: Like ...

MySQL kann
- bei einer LIKE '%xx%' Realname im Prinzip keinen Index verwenden
- bei einer LIKE '%xx' Realname im Prinzip keinen Index verwenden
- bei einer LIKE 'xx%' Realname einen Index verwenden (sofern einer auf Realname) liegt

Eine mögliche Lösung ist, die Spalte Realname und eine ID (auf die Haupttabelle BiographyMaster) in eine kleine neue Tabelle auszulagern und den LIKE auf die kleinen Tabelle auszuführen. Mit den gefundenen IDs kannst Du dann direkt in der BiographyMaster Tabelle suchen.

Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
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
stored procedure mit like suche baggyownz MySQLi/PDO/(MySQL) 0 08.10.2009 11:52:26
AES_ENCRYPT und LIKE phpuser1 MySQLi/PDO/(MySQL) 0 12.08.2009 15:51:05
SQL Query optimierung / beschleunigung nivadis MySQLi/PDO/(MySQL) 11 19.06.2009 15:43:55
mehrfachabfrage db Knisterkarl PHP Grundlagen 4 01.10.2005 13:24:33
myspl query (and not like'') Gweilo PHP für Fortgeschrittene und Experten 3 28.12.2002 15:42:13


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:16:03 Uhr.


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


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