Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP/SQL]Zapytanie długo się wykonuje
Que
post
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 29.09.2007

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


Witam jakaś tam klasa i funkcja pokazująca podobne tematy:

  1. <?php
  2. function getsimilar($tytul)
  3. {
  4. print_r($tytul);
  5. $qa = "SELECT title, postid FROM baza_posty WHERE title LIKE '".$tytul."' LIMIT 5";
  6. $r = $this->dbconnect->getAll($qa, DB_FETCHMODE_ASSOC);
  7. if(DB::isError($r))
  8. {
  9. echo $r->getMessage();
  10. exit(); 
  11. }
  12. else
  13. {
  14. $this->_similar = $r;
  15. return $this->_similar;
  16. }
  17. ?>


Zwraca podobne - w 5 minut:)
Baza ma 600k rekordów, co mogę z tym zrobić? dziękuje za pomoc.

Ten post edytował Que 17.02.2008, 11:51:10
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Może to nie to, ale spróbuj dać LIKE '%".$tytul."%'
600k rekordów to jeszcze nie jest jakaś zatrważająca liczba. Może wina leży po stronie samej tabeli? Spróbuj dać na niej REPAIR etc.

Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
Que
post
Post #3





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 29.09.2007

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


Hmmm...

Struktura tabeli
id(init) - auto (ale nie jest id po koleji tylko np 5,23,623,4 itd)
title(varchar)
text(text)

Hmm... z % to samo sad.gif
Jeszcze gorzej jest z losowym wybieraniem (RAND()) z SQL'a bo wtedy ze 10 min pokazuje 5 losowych.

Ten post edytował Que 17.02.2008, 12:17:13
Go to the top of the page
+Quote Post
przybol
post
Post #4





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 19.01.2005
Skąd: Szczecin

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


Jezeli nie masz indexu na title to go dodaj, pozniej ponownie przeprowadz REPAIR na tabeli. Ja mam doczynienia z tabelami gdzie jest powyzej 2 milionow wpisow i dziala to szybko, grunt to dobrze zalozone indexy na odpowiednich kolumnach.


--------------------
tprzybysz.pl
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 08:45