On Sun, Aug 02, 2009 at 05:42:33PM +0200, Jaroslaw Czarniak wrote:
W dniu 02.08.2009 09:10, Przemysław 'Repcio' Gubernat pisze:
On Wed, Jul 29, 2009 at 11:28:29AM +0200, Jaroslaw Czarniak wrote:
Wednesday 29 July 2009 00:21:02 Przemysław 'Repcio' Gubernat napisał(a):
AFAIR dodanie kilku indeksów załatwia sprawę (26k klientów w bazie).
jakie to indeksy i na jakich tabelach?
Używam MySQL'a i mam założone następujące indeksy:
customers: PRIMARY KEY (`id`), KEY `zip` (`zip`), FULLTEXT KEY `lastname` (`lastname`), FULLTEXT KEY `name` (`name`), FULLTEXT KEY `address` (`address`)
Nie są to wszystkie, gdyż założyłem je wieki temu i oczywiście nie zapisałem na których założyłem indeksy :/
zobacze jaki efekt to bedzie mialo u mnie. Z tym ze FULLTEXT nie dziala na innodb, a na myisam nie chce zamieniac tabeli....
Przy częstych selektach myisam będzie szybszy, przy częstych updatach innodb będzie efektywniejsze. MyISAM przy insertach/updatach blokuje całą tabelę, gdy innodb blokuje tylko wstawiany/aktualizowany rekord. Dlatego też przy częstych updatach sugeruje się użycie innodb, natomiast przy częstych selektach MyISAM. Ostatnio to przerabiałem z jednym serwisem. IMHO MyISAM dla tabeli customers sprawdzi się lepiej.