![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 01:41 |