Bawię się w domu różne phpy i mysqle... No i wychodzi jaki ze mnie jest niedouczony tłuk. xD
Mam sobie taką bazkę, w niej ponad 100k rekordów. No i przy pokazywaniu części tabeli o wysokich idach to całe gówno muli niemiłosiernie... :v To pole tresc to się zdarza, że ma ponad 60k znaków, więc danie CHAR odpada... :v BLOB dać czy co? Czy wyrzucić do do innej tabeli, żeby serwer musiał się przez to przebijać tylko przy wyświetlaniu treści?
Czy po prostu i5 3.10 GHz to za mało i muszę kupić sobie parę maszyn z i7 żeby móc to jakoś działało?
@Kuraito: Zły cfg mysqla. Ogólnie mysql (w sumie każdy sql) nie ma problemów (a przynajmniej nie powinien) z ilością danych, tylko z ilością kluczy w tabeli (ponad milion zaczyna się spadek wydajności ale od tego masz partycjonowanie bazy). Możesz wrzucić do innej tabeli. Nie wiem skąd problem ze 100k rekordów, ja takiej bazy używam na developerce (1 tabla 400k rekordów, reszta lacznie kolo tego, wiec w sumie nieco mniej niż milion)
Możesz sobie poszukać na stacku co radzą w przypadku baz z dużą ilością danych. Stawiam ze cache masz za mały i ustawienia co do bufora danych w query też.
Ewentualnie jak ja przeszukujesz to zamiast select * wypisz pola, które potrzebujesz (bez tego z 60k znaków), może pomoże bo nie będzie jechał po wszystkich danych.
@Kuraito: http://explainextended.com/2009/10/23/mysql-order-by-limit-performance-late-row-lookups/
Ewentualnie pobieranie sekwencyjne (w ActiveRecord w Rails masz to wbudowane i jedna linijka mozna rozbic zapytanie na kilka czyli od klucza y do x, od x do z itp.).
Silnik inno czy myisam?