![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 19.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
witam
Załóżmy sytuację, uzytkownik ma do zaznaczenia zmienną, dużą liczbę checkboxów(np 20-30) Uzytkownikow pare tysięcy, formularzy skladanych 500-1000 na godzine. MySQL 5.6, baza na innodb dane zapiszemy w tabeli id_usera | id_checkboxa | zaznaczyl (0/1) mamy index na id_usera Co z punktu widzenia wydajnosci będzie szybsze w momencie zapisania formularza? 1. Wyczyszczenie tabeli z poprzenich odpowiedzi (delete * from where id usera) A następnie w dodanie przeslanych odpowiedzi w jednym duzym insercie (insert into (id,id_checkboxa,zaznaczyl) values (1,2,3)(3,4,5) ) lub 2. sprawdzenie czy sa juz odpowiedzi od tego usera (select count(*) form where id usera) a ) jesli nie bylo odpowiedzi to w petli php for dla przeslanych odpoweidzi insert kazdej odpowiedzi lub b ) jesli są wczesniejsze odpowiedzi to update kazdje z nich w petli for (update ....) Zastanawia mnie wydajność obu podejść biorąc pod uwagę konieczność aktualizowania indexu w każdym z nich. Ten post edytował cyberpooh 12.04.2015, 21:47:43 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.07.2025 - 01:07 |