2012-11-19 53 views
-1

我有20個表,我想通過比較數據來獲取記錄。執行時間超過MySQL和PHP上的慢查詢

這些表格有超過5000條記錄。

現在的問題是,數據抓取是非常緩慢的,併產生而不是顯示的數據

Fatal error: Maximum execution time of 30 seconds exceeded

是在PHP一個錯誤,並且查詢是「$ QUERY1 =」 SELECT員工。*, upgradations.EmpID,upgradations.BPZ,picture.PicPath,designation.Designat FROM upgradations,僱員,圖象,指定
WHERE upgradations.Designationz = designation.Code AND upgradations.UPStatus = 1 AND picture.EmpID =員工.EmpID AND upgradations.EmpID = employees.EmpID
AND employees.DEntry ='$ UCNIC' ORDER BY employees.ID ASC LIMIT $ start,$ limit「;」

+1

你有索引設置正確嗎? – ppeterka

+1

我們可以看到你的代碼嗎? –

+0

如果不知道以下信息,沒有人能夠提供幫助:A)什麼是查詢; B)你如何使用它?您是否使用MySQLi,PDO或MySQL擴展; C)(可選)php,mysql和你的服務器的版本。 –

回答

1

你必須在php.in文件php.ini文件

ini_set('max_execution_time', 300); //300 seconds = 5 minutes 
+0

$ QUERY1 =「SELECT員工。*,upgradations.EmpID,upgradations.BPZ,picture.PicPath,designation.Designat \t \t FROM \t \t \t \t upgradations,員工,圖片,指定\t \t WHERE \t \t \t \t upgradations.Designationz = designation.Code \t \t \t \t AND upgradations.UPStatus = 1 \t \t \t \t AND picture.EmpID = employees.EmpID \t \t \t \t和upgradations.EmpID = employees.EmpID \t \t \t \t和employees.DEntry = '$ UCNIC' \t \t \t \t ORDER BY employees.ID ASC LIMIT $開始,$ limit「; – user1835483

0

超過maximam exicutaion時間

搜索的ini_set

改變這一

ini_set('max_execution_time', 1000); //1000 second