Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Masowy Update i Delete - wydajność
vegito
post 27.02.2018, 14:29:50
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 27.02.2018

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


Witam, z checkboxów pobieram ID wpisów(postów - cokolwiek to jest). Te ID mam zapisane w tablicy, moje zadanie to aktualizacja lub usunięcie rekordów i tutaj pojawia się problem co będzie szybsze.

1. Czy utworzenie pętli foreach i wywołanie 20 zapytań
2. Czy może utworzenie stringa IDków poprzez funkcję join() i utworzenie jednego zapytania ... WHERE `id` IN($ciag_idkow)

Troszkę na logikę druga opcja wydaje się być bardziej sensowna ale kiedyś borykałem się z tym problemem.

Wiem, że to może zależeć od kilku czynników ale tak z ciekawości jak się ma taki masowy INSERT przez pętlę w php. Jestem troszkę laikiem jeśli chodzi o SQL. Do ilu rekordów można tak wstawiać aby było bezpiecznie.
Go to the top of the page
+Quote Post
Pyton_000
post 27.02.2018, 14:42:53
Post #2





Grupa: Zarejestrowani
Postów: 7 528
Pomógł: 1324
Dołączył: 26.10.2005

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


jeśli usunięcie to 2 opcja.

Jeśli aktualizacja to też zależy co ma być zrobione.

Jeśli chodzi o INSERT to tutaj też skumulowane wartości:

INSERT INTO... () VALUES (...), (...);
Go to the top of the page
+Quote Post
vegito
post 27.02.2018, 15:42:14
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 27.02.2018

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


Jeżeli chodzi o UPDATE to:

UPDATE `table` SET `accepted` = "1" WHERE `id_table` IN(1,2,3,4,5,6,7)

Ten post edytował vegito 27.02.2018, 15:42:40
Go to the top of the page
+Quote Post
Pyton_000
post 27.02.2018, 15:49:17
Post #4





Grupa: Zarejestrowani
Postów: 7 528
Pomógł: 1324
Dołączył: 26.10.2005

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


Tak może być.
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: 16.10.2018 - 00:52