我有PHP应用程序我正在开发我需要使用MSSQL Server作为我的数据库源 . 作为应用程序的唯一开发人员,我可以根据我公司的要求,在数据库服务器之外选择我想要的技术 . 所以这就是问题所在 .
我在连接到MSSQL SQL Server 2014 SP2 CU1(IT控制资源)的Zend Server 9.0上运行PHP 7.0.6 . 我遇到的问题是,当我对表x执行查询时,数据库调用在3.62毫秒内完成(根据Zend Server) . 但是,PDOStatement :: fetchAll()平均需要15秒才能返回27k结果 . 我已经尝试了各种检索数据的连接方式,但似乎没有任何工作 .
有没有人有这样的问题,如果有的话,他们的解决方案是什么 . 我从这里使用MSSQL DB驱动程序:https://www.microsoft.com/en-us/download/details.aspx?id=20098 .
我的PDO连接设置如下:
$this->pdo = new PDO("sqlsrv:Server=".$this->host.";ConnectionPooling=0;Database=".$this->table
, $this->user
, $this->password
, array(PDO::ATTR_PERSISTENT => true)
);
任何帮助将不胜感激 . 谢谢!
1 回答
可能是查询不需要太长时间,但fetchAll构建一个27k结果的数组,需要一段时间来处理 . 您需要为此找到另一种方法,您可以对查询进行分页并在每页上显示一系列元素 . 这是一个如何执行此操作的教程 . Pagination with PHP and PDO