Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> przyspieszenie komendy SELECT
maston
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 12.08.2005

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


Witam.

Mam w tabeli ponad 120 000 rekordów. 4 kolumny wykorzystywane w skrypcie. Wykonanie jednego zapytania SELECT * FROM wplaty WHERE id_osoby LIKE '5' trwa okolo 9 sekund. Zwracane jest 10 rekordów, bo tyle do tej osoby należy.

Czy da się w jakiś sposób zmniejszyć liczbę sekund, żeby generowanie 10 wierszy nie zajmowało tyle czasu?

Typ tabeli MyISAM, wersja MySQL 5.3.0, sprzęt klasy średniej: 768 MB ramu, procek 1,4 GHz, Windows XP Proffesional.

Dzięki z góry
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
maston
post
Post #2





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 12.08.2005

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


pozmienialem w kodzie LIKE na = i ograniczylem typy danych do potrzebnych dlugosci. bo wszedzie bylo varchar(255) i jest 0,9 sekundy.


a explain pokazuje

  1. FIELD Type NULL KEY DEFAULT Extra
  2. id_wplaty int(11) NO PRI NULL AUTO_INCREMENT
  3. id_przydzialu int(50) NO MUL NULL
  4. id_osoby varchar(50) YES MUL NULL
  5. id_kursu varchar(50) YES MUL NULL
  6. dane_odbiorcy text YES NULL
  7. brutto varchar(30) NO NULL
  8. opis varchar(255) YES NULL
  9. vat varchar(30) YES NULL
  10. netto varchar(30) YES NULL
  11. towar varchar(100) YES NULL
  12. id_towaru varchar(50) YES NULL
  13. termin varchar(50) NO NULL
  14. data_wystawienia varchar(30) YES NULL
  15. data_sprzedazy varchar(30) YES NULL
  16. numer_fv varchar(150) YES NULL
  17. osoba varchar(150) YES NULL
  18. user_add_time varchar(150) YES NULL
  19. oddzial varchar(50) YES NULL
  20. extra_info text YES NULL
  21. pkwiu varchar(50) YES NULL
  22. platnosc varchar(3) YES NULL
  23. korekta_nr varchar(255) YES NULL
  24. korekta_kwota varchar(255) YES NULL
  25. korekta_osoba varchar(255) YES NULL
  26. korekta_data varchar(255) YES NULL
  27. korekta_user_add varchar(255) YES NULL
  28. okres varchar(50) NO NULL
  29. kasa varchar(10) YES NULL
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: 9.10.2025 - 00:44