最近我问是否有某种方法可以让我的查询更快地执行(主题:Slow postgresql queries in Zend)。我摆脱了“描述”查询,导致20-30%的提升。但我的疑问仍然太慢。Zend中缓慢的Postgres查询
class Application_Model_DbTable_Images extends Zend_Db_Table_Abstract
{
protected $_name = 'images';
public function getImage($id)
{
$row = $this->fetchRow("id = $id");
return $row;
}
}
我对我的应用程序进行了剖析,发现单个getImage()调用持续约300ms。但是如果我将它调用两次,那么第二次调用大约持续15ms。我能做些什么来使所有查询执行得这么快?
我也100%确定没有描述查询了 - 我查看了数据库查询日志,所有查询看起来都很完美。
否 - 服务器将缓存磁盘内容,因此当它试图再次读取该磁盘部分时,它已经在RAM中。 –
1.这些缓存文件每个仅约5kB - file_get_contents()立即处理它们(〜1ms)。2.单行少于2kB的数据。 4.'images'表包含〜3000行。 我执行了由zend在pgadmin中创建的查询,他们花费了每个〜15ms。也许每次我的控制器启动时都会初始化一个新的连接。我如何防止这种情况发生? – jacek11
那么......任何想法? – jacek11