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 |
|
|
|
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
thek Chcesz kolejne sugestie? Nie używaj w kolumnie NUL... 27.04.2010, 14:43:27
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: 21.12.2025 - 08:09 |