Mam tabelę koło miliona rekordów. Każdy rekord zawiera pól. Chcę znaleźć NAJNOWSZY (czyli znajdujący się na końcu tablicy) wpis dotyczący czegoś tam i spełniający potrójny warunek
I tu pojawia się problem. Próbowałem robić zapytanie
SELECT * FROM bla WHERE bla1=1 AND bla2=2 AND bla3=3
No i takie zapytanie trwa ponad 20 sekund. Zatem spróbowałem innego podejścia. Sprawdzam ile rekordów ma tablica i parsuję je sobie z pomocą php żeby dostać to co chcę.
SELECT * FROM bla WHERE bla1=1 AND bla2=2 AND bla3=3 ORDER BY id DESC LIMIT 1
<?php for($j=$num_value;$j>1;$j--){ pytanie sql; -> SELECT * FROM bla WHERE bla1=1 AND bla2=2 AND bla3=3 AND id=$j } ?>
Problem jest taki że część danych jest dość "daleko" od końca wię i to trwa koło 20 sekund dodatkowo obciążając system na prawie 100%!
Czy jest jakiś sposób na to?
Czy można parsować tabelę od tyłu używając samego sql?