Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
[mySQL] optymalizacja: Handler_read_rnd_next - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: [mySQL] optymalizacja: Handler_read_rnd_next (/thread-mysql-optymalizacja-handler-read-rnd-next)



[mySQL] optymalizacja: Handler_read_rnd_next - pkilar - 11-10-2010

Witam,
mam prostą tabele:

Kod:
mysql> describe auto;
+---------------+--------------+------+-----+---------+----------------+
| Field         | Type         | Null | Key | Default | Extra          |
+---------------+--------------+------+-----+---------+----------------+
| auto_id       | int(11)      | NO   | PRI | NULL    | auto_increment |
| auto_kod      | int(11)      | NO   | MUL | NULL    |                |
| auto_dataczas | datetime     | NO   |     | NULL    |                |
| auto_wsa10    | decimal(4,1) | NO   |     | NULL    |                |
| auto_wda10    | int(4)       | NO   |     | NULL    |                |
| auto_ta60s    | decimal(4,1) | NO   |     | NULL    |                |
| auto_rh60s    | decimal(4,1) | NO   |     | NULL    |                |
| auto_vis10    | int(4)       | NO   |     | NULL    |                |
| auto_tg60s    | decimal(4,1) | NO   |     | NULL    |                |
| auto_tg000    | decimal(4,1) | NO   |     | NULL    |                |
| auto_tg005    | decimal(4,1) | NO   |     | NULL    |                |
| auto_tg010    | decimal(4,1) | NO   |     | NULL    |                |
| auto_tg020    | decimal(4,1) | NO   |     | NULL    |                |
| auto_tg050    | decimal(4,1) | NO   |     | NULL    |                |
| auto_tg100    | decimal(4,1) | NO   |     | NULL    |                |
| auto_pr24h    | decimal(4,1) | NO   |     | NULL    |                |
+---------------+--------------+------+-----+---------+----------------+
co godzinę dorzucam trochę danych do niej poprzednio sprawdzając czy dany rekord już nie istnieje, np. dla danej auto_dataczas=2010-10-11 08:00:00 istnieje ok. 100 rekordów z różnym auto_kod, więc robie:
1) select count(*) from auto where auto_kod=x and auto_dataczas=y
2a) i jezeli count=0 dodaje nowy rekord
2b) jeżeli count=1 rekord istnieje = nie robie nic.

w statusie mySQLa mam bardzo wysokie Handler_read_rnd_next oraz Handler_read_rnd, co mogę zmienić aby obniżyć te wartości????


RE: [mySQL] optymalizacja: Handler_read_rnd_next - pkilar - 14-10-2010

ok, odpowiem więc sam na to pytanie,
dodanie nowego indeksu dla tabeli typu "INDEX" zawierajacego dwa pola uzywane w pkt1)select(...) zmniejszyło handler.read.... oraz przyspieszylo czas wykonywania skryptu dodającego (ok.1000rekordów) z ok 40s do 2s.
pozdrawiam!!!