Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Mysql Abfrage effizienter machen

Frage Entwicklung Datenbanken

Mitglied: ChrisFah

ChrisFah (Level 1) - Jetzt verbinden

29.08.2011, aktualisiert 23:50 Uhr, 2718 Aufrufe, 3 Kommentare

Suche nach Tipps, wie ich die folgende Query schneller machen kann

Hallo allerseits,

wieder wende ich mich mit einem kleinen Problemchen an euch!

Die folgende Query klappt zwar, ist aber sehr langsam, zumal die tabellen relativ gross sind, die da durchgeackert werden.

Gibt es da den einen oder anderen Kniff, diese Abfrage zu beschleunigen?

01.
$last_q_r = "SELECT DISTINCT MAX(k.k_id), k.user_id, k.interessenten_id, k.objekt_id, MAX(k.k_erstellt) AS max_k_erstellt  
02.
			FROM ".TABLE_KONTAKTE." k, ".TABLE_OBJEKTE." o  
03.
			WHERE k.kontaktart < '90'  
04.
			AND k.objekt_id = o.o_id  
05.
			AND o.verkauft != '1'  
06.
			GROUP BY k.interessenten_id, k.user_id, k.objekt_id  
07.
			HAVING DATEDIFF(NOW(), max_k_erstellt) > ".(int)$idle_days." ";
Würde es Sinn machen, das DATEDIFF in den WHERE Bereich zu stecken ?

Vielen Dank im voraus,
lg, Chris

PS: Das DISTINCTMAX(k.k_id) habe ich schon gekillt, k_id wird ausserdem nicht benötigt.
Mitglied: godlie
29.08.2011 um 21:26 Uhr
Hallo,

wie sehen die Indizes für die Tabelle so aus?
Bitte warten ..
Mitglied: ChrisFah
29.08.2011 um 23:51 Uhr
Zitat von godlie:
Hallo,

wie sehen die Indizes für die Tabelle so aus?

Nur der Standard vom Erstellen der Tabellen
Bitte warten ..
Mitglied: pi314
12.09.2011 um 09:28 Uhr
Servus,

als erstes würde ich mal Indexes empfehlen, da ja die Tabellen Deiner Aussage nach recht groß sind:
k.objekt_id und k.kontaktart sind erstmal gute Kandidaten.

Als nächstes fällt mir auf, dass du k.kontaktart mit kleiner als abfrägst und dann ein Char angibst.
Welchen Typ hat denn die Spalte k.kontaktart? Number oder VarChar o. ä.?
Hier sollte sie Number haben, da ansonsten noch eine implizite Konvertierung von Nöten ist, die natürlich Zeit frisst..

Vielleicht hilft's ja schon, ansonsten muss man noch tiefer graben

so long,
pi
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Datenbanken
gelöst MySQL Abfrage um JOIN erweitern (14)

Frage von datadexx zum Thema Datenbanken ...

PHP
MySQL-Abfrage mit php: Wert + true bzw. false (2)

Frage von tomolpi zum Thema PHP ...

Apache Server
gelöst Fehler beim Import einer DB vom anderen MySQL-Server (2)

Frage von zeroblue2005 zum Thema Apache Server ...

Heiß diskutierte Inhalte
Google Android
gelöst Android-Handy versehentlich (dauerhaft) gesperrt? (19)

Frage von FA-jka zum Thema Google Android ...

Batch & Shell
gelöst Ordner und Datei Name gleich (BATCH) (12)

Frage von clragon zum Thema Batch & Shell ...

Windows Server
SBS 2011 Standard virtualisieren (11)

Frage von HeinrichM zum Thema Windows Server ...

DSL, VDSL
gelöst DSL 200m verlängern (11)

Frage von Angela44 zum Thema DSL, VDSL ...