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
Mchl
post
Post #2





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

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


Chciałem EXPLAIN SELECTa, a nie tabeli... No ale z tego też widać, że jeszcze struktura tabeli pozostawia do życzenia.

Kod
Field                              Type              Null            Key    Default    Extra
id_wplaty                      int(11)              NO            PRI    NULL    auto_increment
id_przydzialu              int(11)              NO            MUL    NULL    
id_osoby                      int(11)      YES            MUL    NULL    
id_kursu                      varchar(50)      YES            MUL    NULL    
dane_odbiorcy              text                    YES                 NULL    
brutto                     decimal(8,2)      NO                 NULL    
opis                             varchar(255)      YES                 NULL    
vat                             deciaml(8,2)      YES                 NULL    
netto                             decimal(8,2)      YES                 NULL    
towar                   varchar(100)      YES                 NULL    
id_towaru                   int(11)      YES                 NULL    
termin                   date      NO                 NULL    
data_wystawienia    date      YES                 NULL    
data_sprzedazy            date      YES                 NULL    
numer_fv                    varchar(150)    YES                   NULL    
osoba                    varchar(150)    YES                 NULL    
user_add_time            datetime    YES                 NULL    
oddzial                    varchar(50)    YES                 NULL    
extra_info                     text                    YES                 NULL    
pkwiu                    char(11)    YES                 NULL    
platnosc                    varchar(3)            YES                 NULL    
korekta_nr                    varchar(255)    YES                 NULL    
korekta_kwota            varchar(255)    YES                 NULL    
korekta_osoba            varchar(255)    YES                 NULL    
korekta_data            varchar(255)    YES                 NULL    
korekta_user_add    varchar(255)    YES                 NULL    
okres                    varchar(50)    NO                 NULL    
kasa                            varchar(10)    YES                 NULL


Kilka sugestii zmian

Ten post edytował Mchl 27.04.2010, 12:31:46
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: 12.10.2025 - 01:41