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: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Chcesz kolejne sugestie? Nie używaj w kolumnie NULL. Ustawiaj NOT NULL, gdyż to rozwiązanie szybsze. tam gdzie tylko liczby masz używaj INT. Jeśli dane są w jakiś sposób możliwe do podziału - zastosuj kilka tabel mniejszych, oddzielając w szczególności te, które mają częsty zapis/edycję. Pola, po których łączysz te tabelę z innymi ustaw jako indeks. To samo z tymi, których używasz w WHERE czy ORDER BY. Staraj unikać konstrukcji SELECT * jeśli nie pobierasz wszystkich danych z tabeli. Ogólnie rzecz biorąc pooglądaj nieco dział optymalizacji w dokumentacji choćby MySQL bo wiele tam ciekawych wskazówek.
|
|
|
|
maston przyspieszenie komendy SELECT 27.04.2010, 11:47:11
nospor WHERE id_osoby LIKE '5'
ałć....
WHERE id... 27.04.2010, 11:49:25
wookieb Założyłes klucz na id_osoby?
Jeżeli nie to załóż. ... 27.04.2010, 11:49:36
Mchl Skąd masz MySQL 5.3.0? 27.04.2010, 11:55:53
maston był indeks tylko na id wplaty. dodalem na id_osoby... 27.04.2010, 12:05:19
nospor Cytat2 sekundy pobieranadal dlugo. wywaliles tego ... 27.04.2010, 12:06:57
Mchl Tak myślałem ;P
Pokaż co EXPLAIN pokazuje dla teg... 27.04.2010, 12:09:04
maston pozmienialem w kodzie LIKE na = i ograniczylem typ... 27.04.2010, 12:23:48
nospor Cytati ograniczylem typy danych do potrzebnych dlu... 27.04.2010, 12:25:24
Mchl Chciałem EXPLAIN SELECTa, a nie tabeli... No ale z... 27.04.2010, 12:28:32
Mchl Poza tym wydaje się, że ta tabela zasługuje na nor... 27.04.2010, 14:52:48
wujekleon Conajmniej 3 różne tabele powinny być
np.
faktura
... 1.05.2010, 17:57:33 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 02:35 |