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 ?