Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 417 Pomógł: 44 Dołączył: 23.06.2011 Ostrzeżenie: (0%)
|
Siemka, mam plik CSV, chce go wrzucić do bazy danych. Są to rekordy, do których w przyszłości będzie dopasowywane to co użytkownik wpisał w input. Mam około 100 000 000 rekordów (stringów) co waży ponad 1GB.
System będzie działał na zasadzie użytkownik wpisuje -> system znajduje podobny. Teraz moje pytanie jak rozlokować te rekordy tak, aby wyszukiwanie trwało jak najkrócej . Myślałem o posortowaniu alfabetycznym i np powrzucaniu do różnych tabel odpowiadającym pierwszym literom stringów. Co o tym myślicie ? Ma to sens ? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 365 Pomógł: 70 Dołączył: 5.04.2009 Ostrzeżenie: (0%)
|
Baza danych ma coś takiego jak Indeksy.
Tylko hmm... ja np. nie wiem jak wyglądają Twoje dane mniej więcej. Podaj może jakiś mały kawałek informacji (IMG:style_emoticons/default/smile.gif) |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 417 Pomógł: 44 Dołączył: 23.06.2011 Ostrzeżenie: (0%)
|
wygląda to tak:
content || hits testtest || 3 mam założony UNIQUE na content bo tekst z założenia się nie powtarza ... Myślałem o czymś więcej niż tylko o pozakładaniu indexów, ale teraz zauważam że rozłożenie tego na wiele tabel to baaaardzo głupi pomysł... Ten post edytował Posio 25.04.2013, 21:37:31 |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 508 Pomógł: 75 Dołączył: 2.11.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%)
|
Wrzucanie do wielu tabel ma sens tylko w przypadku jak siedzisz na hostingu i/albo masz mało RAMu. Jeżeli RAMu masz przynajmniej te 10-12 GB, wrzuć wszystko w jedną tabele, mądrze nadaj indeksy - jednoznaczne i główne wpływają na szybkość wyszukiwania. Do tego koniecznie dobrze poustawiać ilość cache dla mysql w pliku konfiguracyjnym (wykorzystać RAM prawie do maksimum) i będzie śmigać. Najważniejsze są poprawne indeksy trzymane bezpośrednio w RAMie.
EDIT: Jeszcze jedna rzecz. Przed wrzucaniem wszystkiego z CSV do bazy danych wyrzuć wszystkie indeksy. Nadaj je dopiero jak wszystko wrzucisz. Import trwa wtedy zauważalnie szybciej. Ten post edytował franki01 26.04.2013, 22:59:36 |
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 16:07 |