Aynı MySQL sorgu PHP, myphpadmin 7.9 sn 0.3 sn sürüyor -

3 Cevap php

Ben şu çalıştırıyorum MySQL query:

select * from combinations where family_type='f597';

yaklaşık 90,000 çizgileri olan bir tablo. I via MyPHPAdmin, it takes 0.3 seconds to run sorgu çalıştırmak, ama in my php page on the same host it consistently takes about 8 seconds. Eğer

Benim sayfa alır süreyi test etmek için, ben bu gibi çalıştırın:

$secs = microtime(true);
$q = "select * from combinations where family_type='f597';";
$r = mysql_query($q);
$secs = round(microtime(true)-$secs, 3);
exit("$secs seconds");

Aşağıdaki gibi Tablo yapısı şu şekildedir:

CREATE TABLE `combinations` (
  `part_no` char(7) collate latin1_general_ci NOT NULL,
  `key_type` smallint(4) unsigned NOT NULL,
  `family_type` char(5) collate latin1_general_ci NOT NULL,
  `year_start` varchar(6) collate latin1_general_ci NOT NULL,
  `year_end` varchar(6) collate latin1_general_ci NOT NULL,
  `visual` varchar(31) collate latin1_general_ci NOT NULL ,
  `info_veh_0` varchar(255) collate latin1_general_ci NOT NULL,
  `info_veh_1` varchar(255) collate latin1_general_ci NOT NULL,
  `info_veh_2` varchar(255) collate latin1_general_ci NOT NULL,
  `key` mediumint(8) unsigned NOT NULL auto_increment,
  PRIMARY KEY  (`key`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=2349584 ;

Can anyone explain why my program runs the same query so much slower than MyPHPAdmin?

[update 1] Ben başka bir programlama dışında sorgu test - Ben sadece mysql bilgi ve söz konusu sorguyu bağlamak içeren basit dnm.php sayfa oluşturduk. Yani a priori bu gecikme neden oluyor sitesi programlama bazı diğer yönü değil.

[update 2] bu sayfayı yüklemek için gereken gerçek süre myphpadmin için ve benim test sayfası için aynıdır. Fark nedeniyle myphpadmin sorgu zaman hesaplar şekilde olabilir.

Her durumda, sorgu işlemek için sadece 0.3 saniye sürerse, where does the rest of the delay come from?

3 Cevap

PhpMyAdmin nedeniyle sonuçları paginating oluyor ki aslında ekranın arkasında bir sınır madde ekler, çünkü bu olabilir.

Bir linux kutusunda ise, size kontrol etmek istiyorsanız aracı "mysql" kullanarak Serveur sorgulamak için deneyebilirsiniz.

Eğer sql sorgusu çalıştırdığınızda size kriterlere uygun tüm kayıtları olsun. Eğer sayfanın hepsini hepsi görünmüyor Ama eğer web sayfasında göstermek istiyorum kaç kayıtları olsun. Ben sayfa onları kastediyorum.