AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MySQl-Query läuft "ewig"

Ein Thema von dispy · begonnen am 3. Jul 2008 · letzter Beitrag vom 13. Jul 2008
Antwort Antwort
Seite 3 von 3     123   
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#21

Re: MySQl-Query läuft "ewig"

  Alt 7. Jul 2008, 14:50
Hi,

wenn du reservierte Wörter als Feldnamen benutzt, dann musst du die Bezeichner korrekt quoten:

SQL-Code:
ALTER TABLE de12_conquer
ADD PRIMARY KEY (villageid, `timestamp`)
Freundliche Grüße
  Mit Zitat antworten Zitat
dispy

Registriert seit: 14. Sep 2006
24 Beiträge
 
#22

Re: MySQl-Query läuft "ewig"

  Alt 11. Jul 2008, 21:27
uh ganz verpennt..... thx

EDIT: der neue Primary-Key bringt auch keine Lösung: der Query läuft trotzdem ewig

MfG
dispy
Computer sind eben nur so schlau wie ihre Programmierer...
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#23

Re: MySQl-Query läuft "ewig"

  Alt 12. Jul 2008, 14:25
SQL-Code:
SELECT c.timestamp AS time,
       c.new_owner AS new_owner_id
FROM de12_conquer c
INNER JOIN de12_tribe x
  ON c.new_owner = x.id
     OR c.old_owner = x.id
WHERE (c.timestamp > 0 && c.timestamp < 1213647029734)
  AND (x.ally = 37038)
ORDER BY c.timestamp DESC LIMIT 50
  Mit Zitat antworten Zitat
dispy

Registriert seit: 14. Sep 2006
24 Beiträge
 
#24

Re: MySQl-Query läuft "ewig"

  Alt 12. Jul 2008, 18:16
Zitat von omata:
SQL-Code:
SELECT c.timestamp AS time,
       c.new_owner AS new_owner_id
FROM de12_conquer c
INNER JOIN de12_tribe x
  ON c.new_owner = x.id
     OR c.old_owner = x.id
WHERE (c.timestamp > 0 && c.timestamp < 1213647029734)
  AND (x.ally = 37038)
ORDER BY c.timestamp DESC LIMIT 50
Der läuft auch ewig durch.
Aber trotzdem danke

MfG
dispy
Computer sind eben nur so schlau wie ihre Programmierer...
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#25

Re: MySQl-Query läuft "ewig"

  Alt 12. Jul 2008, 18:56
Hallo dispy,

lass mal den Range-Check für die Spalte "timestamp" in der WHERE-Klausel weg - da stehen blödsinnige Werte drin, wenn ich das richtig sehe.

Freundliche Grüße
  Mit Zitat antworten Zitat
dispy

Registriert seit: 14. Sep 2006
24 Beiträge
 
#26

Re: MySQl-Query läuft "ewig"

  Alt 12. Jul 2008, 20:09
Zitat von marabu:
Hallo dispy,

lass mal den Range-Check für die Spalte "timestamp" in der WHERE-Klausel weg - da stehen blödsinnige Werte drin, wenn ich das richtig sehe.

Freundliche Grüße
Moin,
ja, so sind die blödsinnig. Aber im späteren Einsatz kommen da vernünftige Werte rein.

MFG
dispy
Computer sind eben nur so schlau wie ihre Programmierer...
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#27

Re: MySQl-Query läuft "ewig"

  Alt 12. Jul 2008, 21:44
Neuer Versuch...
SQL-Code:
SELECT timestamp AS time,
       new_owner AS new_owner_id
FROM de12_conquer
WHERE (timestamp > 0 && timestamp < 1213647029734)
  AND ( new_owner IN (SELECT id
                        FROM de12_tribe
                        WHERE ally = 37038)
       OR old_owner IN (SELECT id
                        FROM de12_tribe
                        WHERE ally = 37038))
ORDER BY timestamp DESC LIMIT 50
oder so...
SQL-Code:
SELECT timestamp AS time,
       new_owner AS new_owner_id
FROM de12_conquer c
WHERE (timestamp > 0 && timestamp < 1213647029734)
  AND EXISTS (SELECT *
              FROM de12_tribe
              WHERE ally = 37038
                AND ( id = c.new_owner
                     OR id = c.old_owner))
ORDER BY timestamp DESC LIMIT 50
Wieviel Zeilen ergibt das Folgende überhaupt?
SQL-Code:
SELECT id
FROM de12_tribe
WHERE ally = 37038
Geht es schneller ohne den timestamp und die Sortierung?
  Mit Zitat antworten Zitat
dispy

Registriert seit: 14. Sep 2006
24 Beiträge
 
#28

Re: MySQl-Query läuft "ewig"

  Alt 13. Jul 2008, 19:24
Zitat:
Wieviel Zeilen ergibt das Folgende überhaupt?
nen leeres Resultat - die ID hat sich geändert.
MIt der aktuellen ID genau 48.



1ter query: läuft ewig
2ter Query: auch ewig

Zitat:
Geht es schneller ohne den timestamp und die Sortierung?
Ohne geht es auch nicht von daher is das schnurzpipsegal.Sollte aber logischwerweise länger brauchen.

MFG
dispy
Computer sind eben nur so schlau wie ihre Programmierer...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

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

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz