Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Optymalizacja zapytania
desavil
post 9.02.2014, 13:06:32
Post #1





Grupa: Zarejestrowani
Postów: 339
Pomógł: 3
Dołączył: 15.10.2008
Skąd: Internet

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


Witam.
Czy istnieje jakaś możliwość, aby podane niżej zapytanie bardziej zoptymalizować. Chodzi mi o to, aby najlepiej zostało napisane to w jednym o ile tak się da.

  1. $pdo_stmt = $pdo_1 -> query('SELECT `id` FROM `users` WHERE `account_status`=0 AND `register_datetime` < DATE_SUB(NOW(), INTERVAL 48 HOUR)');
  2. while($pdo_row = $pdo_stmt -> fetch()){
  3. $pdo_1 -> query('DELETE FROM `users` WHERE `id`='.$pdo_row['id']);
  4. $pdo_1 -> query('DELETE FROM `users_history` WHERE `id_user`='.$pdo_row['id']);
  5. }


--------------------
"Nie ma głupich pytań, są tylko głupie odpowiedzi."
Pomogłem?? Kliknij "Pomógł" :) Dzięki!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
timon27
post 9.02.2014, 13:14:29
Post #2





Grupa: Zarejestrowani
Postów: 578
Pomógł: 69
Dołączył: 15.04.2007
Skąd: Wrocław

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


DELETE FROM `users` WHERE `account_status`=0 AND `register_datetime` < DATE_SUB(NOW(), INTERVAL 48 HOUR)


Tak, nie usuwa się historia.
Jeśli nie masz tysięcy użytkowników którzy robią miliony akcji to nie musisz.
Ewentualnie jeśli users_history na prawdę sie rozrośnie to możesz wykonać:
DELETE FROM users_history WHERE id_user NOT IN (SELECT id FROM users)

Ten post edytował timon27 9.02.2014, 13:18:01
Go to the top of the page
+Quote Post

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: 20.06.2025 - 17:05