Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
How To Do This SQL
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Divers
Thread ID:
01055122
Message ID:
01055957
Vues:
20
Sergey,

I'm having a problem with these 2 commands. The first takes 29 seconds to
run against 849,000 records on the local PC, and the second takes 40 seconds.

cAlias contains the name of a temp table, created on the fly in the query
routine. There is an index on DtId. Since this will be running on network data, and
is called when the user clicks Save, they are entirely too fast.

I'm tring to remove thse records before they are re-saved. Any ideas on hwo to
do this faster?
DELETE Commits;
  FROM Commits;
  JOIN &cAlias ON &cAlias..DtId = Commits.DtId

DELETE FROM Commits;
 WHERE DtId IN;
 (SELECT DtId FROM &cAlias)
>In addition, you can combine the first select with DELETE/UPDATE
DELETE MyTable ;
>	FROM MyTable ;
>	JOIN (SELECT Id FROM MyTable WHERE SomeValue = 1) MyCursor
>		ON MyCursor.Id = MyTable.Id
>
>
>>Thank you!
>>
>>>In VFP9 only
>>>DELETE MyTable;
>>>    FROM MyTable;
>>>    JOIN MyCursor ON MyCursor.Id = MyTable.Id
>>>
>>>UPDATE MyTable;
>>>    SET SomeField = SomeValue;
>>>    FROM MyTable;
>>>    JOIN MyCursor ON MyCursor.Id = MyTable.Id
>>>
>>>
Everything makes sense in someone's mind
public class SystemCrasher :ICrashable
In addition, an integer field is not for irrational people
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform