Frage : Wie kann ich diese Frage schneller laufen lassen?

Dieses ist ein sehr interessantes SQL-Problem. Ich wünsche, dass ich mehr als 500 Punkte dieser Frage zuweisen kann!

I haben das folgende query
1:
2:
3:
4:
5:
6:
7:
8:
SELECT p1.idpattern, p2.idpattern, ZÄHLIMPULS (p1.idtag) count1, (ZÄHLIMPULS (*) VON PU rsdb1.positivepatterns20 VORWÄHLEN IN DEM pi.iduser = 3 UND pi.idpattern = p2.idpattern), count2 
VON positivepatterns20 p1, positivepatterns20 p2
WO p1.idtag = p2.idtag
UND p1.iduser = 1 
UND p2.iduser = 3 
GRUPPE DURCH 1.2
HABEN count1 < count2
UND count1 = (ZÄHLIMPULS (*) VON positivepatterns20 P1_sub VORWÄHLEN IN DEM P1_sub.iduser = 1 UND P1_sub.idpattern = P1.idpattern);


it Nehmen wie 10 Minuten zum run
Is dort eine Weise kann ich sie schneller bilden?
Here ist Tabelle positivepatterns20 describtion, Zahl von Reihen ist nur 148000 Reihen!
1:
2:
3:
4:
5:
6:
7:
+-----------+---------+------+-----+---------+-------+
| Feld     | Art    | Null | Schlüssel | Rückstellung | Extra |
+-----------+---------+------+-----+---------+-------+
| iduser    | int (11) | NEIN   | PRI | NULL    |       |
| idpattern | int (11) | NEIN   | PRI | 0       |       |
| idtag     | int (11) | NEIN   | PRI | 0       |       |
+-----------+---------+------+-----+---------+-------+



-------------das
Not, zum unhöflich zu sein, WÜNSCHE ICH NICHT „Kopienpastenverbindungen“ answers

Antwort : Wie kann ich diese Frage schneller laufen lassen?

Es gab irgendeine fehlende Gruppe vorbei innen dort, versuchen bitte dieses.

AUSERWÄHLTES p1.idpattern, p2.idpattern, ZÄHLIMPULS (eindeutiges p1.idtag) count1, PU. Count2, count3
VON positivepatterns20 p1
inner positivepatterns20 p2 auf verbinden p1.idtag = p2.idtag und p2.iduser = 3
inner verbinden (
  P1_sub.idpattern, GELTEN (eindeutiges idtag) VORWÄHLEN als Count3 VON positivepatterns20 P1_sub
  WO P1_sub.iduser = 1
  GRUPPE DURCH P1_sub.idpattern) P1_sub auf P1_sub.idpattern = P1.idpattern
inner verbinden (
  Pi.idpattern, GELTEN (eindeutiges idtag) VORWÄHLEN als Count2 VON PU rsdb1.positivepatterns20
  WO pi.iduser = 3
  Gruppe durch pi.idpattern) PU auf pi.idpattern = p2.idpattern
WO p1.iduser = 1
GRUPPE DURCH p1.idpattern, p2.idpattern, pi.count2, count3
ZÄHLIMPULS (eindeutige p1.idtag) HABEN <� count2="" and="" COUNT="">
Weitere Lösungen  
 
programming4us programming4us