mar 03

Jak dla amatora to baza jest duża, ponad 8 milionów rekordów, około 600MB. Wyszukiwanie w niej, nawet po częściowo zaindeksowanych kolumnach trwało przynajmniej 20 sekund. Zwykle znacznie więcej. Dotarło do mnie, że taka baza to koszmarek – pól tylko pięć – id, nazwisko_imie, miasto, ulica, numer – z czego zawartość trzech jest powtarzalna. I pierwszy raz w życiu dane mi było przeprowadzić procedurę atomizacji i normalizacji bazy danych. Oddzieliłem imię od nazwiska, usunąłem niepotrzebne znaki, rozbiłem dane na pięć tabel (nazwiska, imiona, ulice, miasta oraz tabela główna). Po zaindeksowaniu wszystkiego co się dało zaindeksować baza zwiększyła się o 100%, ale wyszukiwanie teraz trwa nie więcej niż 1-2 sekundy.
I tak właśnie utraciłem swą wiarę w wydajność mysql’a.


Podobne posty:


3 Responses to “normalizacja bazy danych”

  1. agent USB Says:

    Normalizacja bazy to podstawa – jeśli chcesz kogoś ukrzyżować, sprawdź czy masz gwoździe :)

  2. szewczyk Says:

    Z każdym dniem kilka gwoździ w kieszeni mam więcej.

  3. szewczyk Says:

    Po dalszych optymalizacjach schodzę do uzyskiwania odpowiedzi w czasie poniżej 0.1 sekundy. Jest komfort.

Leave a Reply