Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mySQL] Jak usunąć dużą liczbę rekordów?
yalus
post 12.02.2010, 14:36:57
Post #1





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 8.07.2005
Skąd: EU

Ostrzeżenie: (0%)
-----


witam

w bazie mam dwie tabele i teraz chcialbym z jednej usunac te same rekordy, ktore znajduja sie w drugiej

uzywam do tego takiego oto zapytania:

  1. DELETE FROM tblcustomers WHERE EXISTS (SELECT incorrect_numb.mobile_number FROM incorrect_numb WHERE tblcustomers.mobile_number = incorrect_numb.mobile_number);


niestety takie zapytanie wykonywane jest b. dlugo (podzapytanie itp) a do usuniecia mam ponad 60.000 rekordow
czy jest jakis sposob aby zrobic to szybciej?


pozdrawiam


--------------------
człowiek nie sznurek wszystko wytrzyma
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zzeus
post 12.02.2010, 14:44:06
Post #2





Grupa: Zarejestrowani
Postów: 441
Pomógł: 71
Dołączył: 3.09.2007
Skąd: wrocław

Ostrzeżenie: (0%)
-----


Podczas DELETE można korzystać z JOIN, więc spróbuj coś z RIGHT JOIN, coś na wzór:
  1. DELETE FROM tblcustomers RIGHT JOIN incorrect_numb USING(mobile_number)


Ten post edytował zzeus 12.02.2010, 14:45:35


--------------------
Go to the top of the page
+Quote Post
Mchl
post 12.02.2010, 15:02:27
Post #3





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

Ostrzeżenie: (0%)
-----


Cytat(zzeus @ 12.02.2010, 14:44:06 ) *
Podczas DELETE można korzystać z JOIN, więc spróbuj coś z RIGHT JOIN, coś na wzór:
[SQL] pobierz, plaintext
  1. DELETE FROM tblcustomers RIGHT JOIN incorrect_numb USING(mobile_number)
[SQL] pobierz, plaintext


Prawie. Tylko tabele z których chcemy kasować wstawia się przed FROM
Kod
DELETE tblcustomers  FROM tblcustomers RIGHT JOIN incorrect_numb USING(mobile_number)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 14:22