Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Pytanie odnośnie zapytania w wyszukiwaniu, FULLTEXT
!*!
post
Post #1





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Mam w bazie 540 844 rekodrów, przeszukuje je w taki sposób:

  1. <?php
  2. $wynik = $_GET['wyszukaj'];
  3.  
  4. $iloscrekordow = 10; 
  5.  
  6. $zapytanie = mysql_query("SELECT COUNT(login) FROM userdata WHERE MATCH(login) against ('$wynik*' IN BOOLEAN MODE) ");
  7. $red = mysql_result($zapytanie, 0);
  8. $zamianaliczb = number_format($red, 0, ' ', ' ');
  9.  
  10. if ($red > $iloscrekordow) {$num_pages = ceil ($red/$iloscrekordow);} else {$num_pages = 1;} 
  11.  
  12. if (isset($_GET['first'])) {
  13. if ( (is_numeric($_GET['first'])) AND ($_GET['first'] > 0) ) {$s = $_GET['first'];} else {$s = 1;} } else {$s = 1;} 
  14.  
  15. $zap= "SELECT login,data,email,fotografia,opis FROM userdata WHERE MATCH(login) against ('$wynik*' IN BOOLEAN MODE) LIMIT ".($s-1).", $iloscrekordow";
  16. $quer = mysql_query($zap);
  17.  
  18. $polacz = mysql_query('SELECT iloscuserow FROM onlineuser LIMIT 1');
  19. $liczy = mysql_fetch_row($polacz);
  20. $iloscrekordow = $liczy[0];
  21. $zamianaliczb2= number_format($iloscrekordow, 0, ' ', ' ');
  22. ?>


I tak się zastanawiam czy jest ono dobre? Dodać FULLTEXT dla pola login? To zwiększy wydajność? Jak miałem ok 60k rekordów było ok, ale teraz trochę "laguje" przy wyszukiwaniu wyników... Tak się zastanawiam czy macie jakieś propozycje, z własnych doświadczeń...

ps. nie wklejałem kodu od stronicowania, chyba nie ma on znaczenia...

A i jeszcze jedno... Czy takie wyszukiwanie będzie na serwerze działało szybciej niż baza która jest wyłączana na localu?

Ten post edytował !*! 1.07.2008, 10:53:17
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: 23.08.2025 - 19:24