Topic: Delete where

DELETE t1 
FROM table1 AS t1 
JOIN table1 AS t2 
ON t1.moveid>t2.moveid 
AND t1.sort_type=t2.sort_type 
AND t1.from=t2.from 
AND t1.to=t2.to 
AND t1.ref=t2.ref 
AND t1.endtime=t2.endtime 
AND t1.proc=t2.proc;

Kai vygdo sita uzklausa pastringa visas serveris. Moveid yra indexas.
Kame beda?

Re: Delete where

O po kiek įrašų kiekvienoje iš lentelių?

Kadangi sujungimo parametrų yra DAUG, tai tokio vieno indekso ir neuženka. Reikia, kad kiekvienoje lentelėje būtų po kombinuotą indeksą, apimantį, visus tuos parametrus.

Re: Delete where

Parodyk ką rodo:

EXPLAIN EXTENDED
SELECT *
FROM table1 AS t1 
JOIN table1 AS t2 
ON t1.moveid>t2.moveid 
AND t1.sort_type=t2.sort_type 
AND t1.from=t2.from 
AND t1.to=t2.to 
AND t1.ref=t2.ref 
AND t1.endtime=t2.endtime 
AND t1.proc=t2.proc