我正在使用php,mysql和zend框架創建一個網站。 當我嘗試運行任何SQL查詢時,頁面生成跳轉到0.5秒左右。這太高了。如果我打開sql,頁面生成是0.001。 我運行的查詢量並不會真正影響頁面生成時間(1-10個測試查詢)。在0.5秒停留 我無法弄清楚,我做錯了什麼。Zend Framework和Mysql - 非常慢
我在連接到引導SQL:
protected function _initDatabase()
{
try
{
$config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/application.ini', APPLICATION_ENV);
$db = Zend_Db::factory($config -> database);
Zend_DB_Table_Abstract::setDefaultAdapter($db);
}
catch (Zend_Db_Exception $e)
{
}
}
然後,我有一個簡單的模型
class StandardAccessory extends Zend_DB_Table_Abstract
{
/**
* The default table name
*/
protected $_name = 'standard_accessory';
protected $_primary = 'model';
protected $_sequence = false;
}
最後,我的索引控制器內,我只需運行find方法。
require_once APPLICATION_PATH . '/models/StandardAccessory.php';
$sa = new StandardAccessory();
$stndacc = $sa->find('abc');
這一切都需要〜0.5秒,這太長了。有什麼建議麼?
謝謝!
而對BENCHMARK的查詢應該返回1行,否則mysql抱怨:錯誤1242(21000):子查詢返回多於1行。 – 2009-08-14 22:28:10
@Leonel Martins:對,我認爲自從OP使用'find()'來限制表的主鍵。所以應該保證返回一行(如果沒有找到'abc',則返回零行)。 – 2009-08-14 22:32:05
元數據緩存的第一個鏈接現在無效,我假設它是這樣的:https://framework.zend.com/manual/1.10/en/zend.db.table.html#zend.db.table。 metadata.caching – 2016-11-07 18:31:19