mam dwie tabele:
CREATE TABLE `proces` ( `proces_id` int(11) NOT NULL AUTO_INCREMENT, `proces_pobor` varchar(20) NOT NULL DEFAULT '', `proces_start` date NOT NULL DEFAULT '0000-00-00', `proces_start_syst` date NOT NULL DEFAULT '0000-00-00', `proces_war_data` date NOT NULL DEFAULT '0000-00-00', `proces_war_data_syst` date NOT NULL DEFAULT '0000-00-00', `proces_otworzyl` varchar(50) NOT NULL DEFAULT '', `proces_zamknal` varchar(50) NOT NULL DEFAULT '', `proces_stan` char(2) NOT NULL DEFAULT '', `proces_z_obrotu` char(3) NOT NULL DEFAULT '', `proces_kom_rejestrujaca` varchar(5) NOT NULL DEFAULT '', `proces_dotyczy` varchar(150) NOT NULL DEFAULT '', PRIMARY KEY (`proces_id`) ) ENGINE=MyISAM AUTO_INCREMENT=10097 DEFAULT CHARSET=latin2 AUTO_INCREMENT=10097 ;
oraz:
CREATE TABLE `wniosek` ( `wniosek_id` int(11) NOT NULL AUTO_INCREMENT, `wniosek_proces` varchar(11) NOT NULL DEFAULT '', `wniosek_nr` varchar(11) NOT NULL DEFAULT '', `wniosek_nr_reczny` varchar(250) NOT NULL DEFAULT '', `wniosek_nr_reczny_obr` text NOT NULL, `wniosek_klient` text NOT NULL, `wniosek_lokalizacja` text NOT NULL, `wniosek_lokalizacja_miasto` text NOT NULL, `wniosek_koresp` text NOT NULL, `wniosek_koresp_miasto` text NOT NULL, `wniosek_typ_wniosku` varchar(11) NOT NULL DEFAULT '', `wniosek_rodzaj_wniosku` varchar(11) NOT NULL DEFAULT '', `wniosek_dotyczy_wniosku` varchar(11) NOT NULL DEFAULT '', `wniosek_dzial_rejestracji` varchar(50) NOT NULL DEFAULT '', `wniosek_data` date NOT NULL DEFAULT '0000-00-00', `wniosek_data_syst` date NOT NULL DEFAULT '0000-00-00', `wniosek_zmienil` varchar(11) NOT NULL DEFAULT '', `wniosek_data_zmienil` varchar(11) NOT NULL DEFAULT '', `wniosek_aktywny` char(2) NOT NULL DEFAULT '', `wniosek_notatka` text NOT NULL, `wniosek_cele_grzewcze` varchar(5) NOT NULL DEFAULT '', PRIMARY KEY (`wniosek_id`) ) ENGINE=MyISAM AUTO_INCREMENT=10097 DEFAULT CHARSET=latin2 AUTO_INCREMENT=10097 ;
wyciagam dane dotyczace np 10 procesow z tabeli proces, jednoczesnie odwolujac sie do wnioskow by sprawdzic stan procesu i miejsce rejestracji wniosku. robie to w ten sposob:
$pytanie="SELECT proces_id as id, proces_start as pstart, proces_kom_rejestrujaca as komorka, proces_start_syst as pstartsyst, proces_war_data_syst as pstopsystem, proces_pobor as pobor, proces_war_data as pstop, w.wniosek_klient as klient, w.wniosek_lokalizacja as lokalizacja, w.wniosek_lokalizacja_miasto as lokalizacja_miasto, w.wniosek_nr as wniosek, w.wniosek_nr_reczny as wniosek_reczny, proces_stan as stan FROM proces p left join wniosek w on w.wniosek_proces = p.proces_id where p.proces_kom_rejestrujaca = '$UserDzial' and proces_stan=1 order by id desc limit ".$strona*$na_stronie.", $na_stronie";
okrutnie dlugo musze czekac na odpowiedz, okolo 3-4 sekund baza potrzebuje na wykonanie tego zapytania. jak przyspieszyc to zapytanie?
obie tabele maja okolo 10k rekordow