Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przyspieszenie update on duplicate key
kefi
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 27.05.2009

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


Mam całą masę rekordów około 10 000 000 które muszę dodać do tabeli pobieram je 3 rożnymi selectami i składam w całość i zapisuje jako nowy wiersz do osobnej tabeli.

Postanowiłem ze podczas dodawanie bede generował w php unikalny hash i za pomocą insert into (....) on duplicate key update set kolumna = concat_ws(',',kolumna) dopisuje kazdy rekord do listy a kiedy jakis sie powtarza tylko ta jedna wartość się rózni to jest ona dopisywana


w ten sposób mam mniej wierszy zawierających tą samą ilość danych i mysql robi to za mnie a ja nie musze sie głowić jak to zrobić w php i nie wiem czy to by było szybsze bo i tak musiał bym pobierać grupować i sortować


Tylko niestety to rozwiązanie ma jedne wielki minus wraz z ilością dodanych wierszy spada szybkość dodawania nowych rekordów bo baza robi się większa i większa i zaczyna to trwać w nieskończoność a tempo dodawania spada w jaki sposób to przyspieszyć.

Mam serwer z 8GB ramu ale działają na nim tez strony internetowe co mogę np w konfiguracji zmienić żeby to szybciej działało jednocześnie nie powodując jakichś problemów w działaniu stron które tez korzystają z mysqla


Edit:
i jeszcze jedno pytanie co wypada korzystniej robienie samemu klucza unikalnego np w php za pomocą md5 czy tworzenie go z kilku kolumn przez mysqla ?

Ten post edytował kefi 29.09.2010, 09:29:15
Go to the top of the page
+Quote Post

Posty w temacie
- kefi   Przyspieszenie update on duplicate key   28.09.2010, 18:09:39


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 Aktualny czas: 20.08.2025 - 20:23