Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Czytanie dużej tabeli od tyłu
matisq
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 2.06.2008

Ostrzeżenie: (0%)
-----


Cześć,

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
  1. SELECT * FROM bla WHERE bla1=1 AND bla2=2 AND bla3=3
I tu pojawia się problem. Próbowałem robić zapytanie
  1. SELECT * FROM bla WHERE bla1=1 AND bla2=2 AND bla3=3 ORDER BY id DESC LIMIT 1
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ę.
  1. <?php
  2. for($j=$num_value;$j>1;$j--){
  3.   pytanie sql; -> SELECT * FROM bla WHERE bla1=1 AND bla2=2 AND bla3=3 AND id=$j
  4. }
  5. ?>

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?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.09.2025 - 09:29