Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> dlugi czas wykonania zapytania - jak skrocic?
esos
post
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 7.08.2005
Skąd: zabrze

Ostrzeżenie: (0%)
-----


witam

mam dwie tabele:

  1. CREATE TABLE `proces` (
  2. `proces_id` int(11) NOT NULL AUTO_INCREMENT,
  3. `proces_pobor` varchar(20) NOT NULL DEFAULT '',
  4. `proces_start` date NOT NULL DEFAULT '0000-00-00',
  5. `proces_start_syst` date NOT NULL DEFAULT '0000-00-00',
  6. `proces_war_data` date NOT NULL DEFAULT '0000-00-00',
  7. `proces_war_data_syst` date NOT NULL DEFAULT '0000-00-00',
  8. `proces_otworzyl` varchar(50) NOT NULL DEFAULT '',
  9. `proces_zamknal` varchar(50) NOT NULL DEFAULT '',
  10. `proces_stan` char(2) NOT NULL DEFAULT '',
  11. `proces_z_obrotu` char(3) NOT NULL DEFAULT '',
  12. `proces_kom_rejestrujaca` varchar(5) NOT NULL DEFAULT '',
  13. `proces_dotyczy` varchar(150) NOT NULL DEFAULT '',
  14. PRIMARY KEY (`proces_id`)
  15. ) ENGINE=MyISAM AUTO_INCREMENT=10097 DEFAULT CHARSET=latin2 AUTO_INCREMENT=10097 ;



oraz:

  1. CREATE TABLE `wniosek` (
  2. `wniosek_id` int(11) NOT NULL AUTO_INCREMENT,
  3. `wniosek_proces` varchar(11) NOT NULL DEFAULT '',
  4. `wniosek_nr` varchar(11) NOT NULL DEFAULT '',
  5. `wniosek_nr_reczny` varchar(250) NOT NULL DEFAULT '',
  6. `wniosek_nr_reczny_obr` text NOT NULL,
  7. `wniosek_klient` text NOT NULL,
  8. `wniosek_lokalizacja` text NOT NULL,
  9. `wniosek_lokalizacja_miasto` text NOT NULL,
  10. `wniosek_koresp` text NOT NULL,
  11. `wniosek_koresp_miasto` text NOT NULL,
  12. `wniosek_typ_wniosku` varchar(11) NOT NULL DEFAULT '',
  13. `wniosek_rodzaj_wniosku` varchar(11) NOT NULL DEFAULT '',
  14. `wniosek_dotyczy_wniosku` varchar(11) NOT NULL DEFAULT '',
  15. `wniosek_dzial_rejestracji` varchar(50) NOT NULL DEFAULT '',
  16. `wniosek_data` date NOT NULL DEFAULT '0000-00-00',
  17. `wniosek_data_syst` date NOT NULL DEFAULT '0000-00-00',
  18. `wniosek_zmienil` varchar(11) NOT NULL DEFAULT '',
  19. `wniosek_data_zmienil` varchar(11) NOT NULL DEFAULT '',
  20. `wniosek_aktywny` char(2) NOT NULL DEFAULT '',
  21. `wniosek_notatka` text NOT NULL,
  22. `wniosek_cele_grzewcze` varchar(5) NOT NULL DEFAULT '',
  23. PRIMARY KEY (`wniosek_id`)
  24. ) 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:

  1. $pytanie="SELECT
  2. proces_id as id,
  3. proces_start as pstart,
  4. proces_kom_rejestrujaca as komorka,
  5. proces_start_syst as pstartsyst,
  6. proces_war_data_syst as pstopsystem,
  7. proces_pobor as pobor,
  8. proces_war_data as pstop,
  9. w.wniosek_klient as klient,
  10. w.wniosek_lokalizacja as lokalizacja,
  11. w.wniosek_lokalizacja_miasto as lokalizacja_miasto,
  12. w.wniosek_nr as wniosek, w.wniosek_nr_reczny as wniosek_reczny,
  13. proces_stan as stan
  14.  
  15. FROM proces p
  16.  
  17. left join wniosek w on w.wniosek_proces = p.proces_id where
  18. p.proces_kom_rejestrujaca = '$UserDzial' and
  19. 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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 00:05