w niej kolejno takie kolumny:
ID int(11) NOT NULL AUTO_INCREMENT, kat int(11) NOT NULL, pod int(11) NOT NULL, typ_id int(11) NOT NULL, typ int(1) NOT NULL, autor varchar(40) NOT NULL, opis text NOT NULL, zawartosc text NOT NULL, DATA datetime NOT NULL, cena int(11) NOT NULL, wyswietlen int(11) NOT NULL, PRIMARY KEY(ID)
Pobieram 3 ostatnie lub 3 pierwsze strony z tym że warunkiem jest kolumna typ
Pobieram dane np. tak
SELECT ID FROM strony WHERE typ=0 ORDER BY ID DESC LIMIT 3;
lub
SELECT ID FROM strony WHERE typ=0 ORDER BY ID ASC LIMIT 3;
lub
SELECT ID FROM strony WHERE typ=1 ORDER BY ID DESC LIMIT 0,3;
lub
SELECT ID FROM strony WHERE typ=1 ORDER BY ID ASC LIMIT 0,3;
w tych ostatnich robię stronicowanie wiec limit ma 3 wyświetlić rekordy ale zaczynające się od jakiegoś tam już wcześniej.
A teraz z czym mam problem, przy 100 wpisach wczytuje się to błyskawicznie, ale przy 1000000
Czyli przy milionie takich wpisów wykonuję się to u mnie 25,98 sekund.
Dlaczego taki długi czas skoro pobieram tylko 3 wiersze

Może powinienem jakoś oznaczyć kolumnę typ dla lepszego indexowania tylko jak to zrobić

Nawet jeśli próbuję stronicować samo pole ID to muli się to strasznie.
Jak radzą skrypty na których są forum internetowe, tam jest tego miliony i działa szybko, dlaczego u mnie się tak to muli

Gdzie popełniam błąd

Czy całkowicie wyrzucić dane tekstowe na inną tabele

Jak sobie panowie radzicie z takimi problemami.
Dziękuję serdecznie za pomoc.