草庐IT

zend-optimizer

全部标签

php - 使用 Zend_Db_Table_Abstract 限制查询返回列

如何在使用Zend_Db_Table_Abstract时限制对特定列的查询?(下面的getDbTable()返回一个Zend_Db_Table_Abstract对象)$resultSet=$this->getDbTable()->fetchAll($this->getDbTable()->select()->where('forgienKey=\''.$forgienKey.'\'')->order("'id'ASC"));我只需要返回id列,但会返回整行。感谢您的帮助! 最佳答案 如thedocs中所述:$select=$tabl

php - 在 Zend Framework 中使用 mysql 无缓冲查询,是否支持?

我需要运行一个查询来检索大量记录。这意味着我不能为mysqli使用ZF包装器,它在底层使用mysqli-store-result。那么,ZF中是否有用于使用mysqlimysqli-use-resultlinktext的包装器?,它将返回一个Iterator/record-set/resource而不是所有结果已经加载到内存中的数组,或者我需要自己实现它吗? 最佳答案 首先,没有ZendFramework数据库适配器使用ext/mysql.有ext/mysqli的适配器和ext/pdo_mysql.在MySQLi适配器中,它总是调用

php - 为什么 Zend Framework (Zend_Db_table) 拒绝这个 SQL 查询?

我正在处理两个表(urls和companies)的简单JOIN。我正在使用这个查询调用:print$this->_db->select()->from(array('u'=>'urls'),array('id','url','company_id'))->join(array('c'=>'companies'),'u.company_id=c.id');发出这个查询:SELECT`u`.`id`,`u`.`url`,`u`.`company_id`,`c`.*FROM`urls`AS`u`INNERJOIN`companies`AS`c`ONu.company_id=c.id现在,我希

mysql - Zend - 插入/更新时我需要使用 quote() 吗?

我正在开发一个允许用户在mySQL中输入VARCHAR(255)字段的应用程序,因此安全性是一个主要问题。我无法理解quote()。如果我使用quote('test'),数据在SELECT上返回为'\'test\'',这是不希望的。如何取消引用此数据?如果我绕过quote(),我可以查看phpmyadmin并查看“测试”,因此Zend似乎不会自动为我转义引号...我的代码看起来像这样:publicfunctiongetDbTable(){if(null===$this->_dbTable){$this->setDbTable(newZend_Db_Table($this->_table

mysql - 使用 Zend Framework 切换到 MariaDB

我一直在开发网站MySQLclientversion:5.1.41Serverversion:5.1.41我一直在考虑部署到生产服务器上可能是迁移到mariadb(UbuntuLucidLynx)的最佳时机我需要在我的应用程序配置中更改哪些设置resources.multidb.front_db.adapter="pdo_mysql"resources.multidb.front_db.charset="utf8"resources.multidb.front_db.host=localhostresources.multidb.front_db.username=rootresour

php - 使用 Zend 批量插入数据库

我在SO上看到,您可以使用createRowset和createRow方法进行多次插入,而无需在循环中进行。我的问题是,我不确定createRowset方法是在哪个类中定义的。我有以下代码,它因500内部错误而失败:$twitterUsersModel=newTwitterUsers($this->db_adapter);$rowset=$twitterUsersModel->createRowset();//thisisthelinethatfailsforeach($dataas$d){$row=$twitterUsersModel->createRow($d);$rowset->

mysql - Zend 框架 2 : LEFT JOIN issue

publicfunctiongetInterests($userID){$result=$this->tableGateway->select(function(Select$select)use($userID){$select->join('interests','users_interests.interest_id=interests.interest_id',array('*'),'left');$where=newWhere();$where->equalTo('user_id',$userID);$select->where($where);});return$resul

mysql - 我如何在 Zend_Db_Select 中使用 MySQL GROUP BY 修饰符 WITH ROLLUP?

我的网络应用程序(PHP/MySQL+Zend)中的SQL查询使用许多参数来构建搜索查询。但是,获取的记录应按两列分组以获得小计。WITHROLLUP似乎是查找小计的好解决方案,但Zend_Db_Select不支持此修饰符。有什么解决办法吗? 最佳答案 嗯,$select->from(array('t1'=>'table1'))->where("where");->group("(field1)WITHROLLUP"); 关于mysql-我如何在Zend_Db_Select中使用MySQ

java - 聊天服务器 : what's the best(optimized) way to save a conversation log

我正在用java构建一个简单的聊天服务器,用户可以在其中进行私有(private)对话。我想在服务器级别(而不是客户端)保存这些对话,以便我可以将它们作为对话日志服务列出给用户。我还在我的软件中使用MySQL作为数据库。我正在寻找的是一种保存这些对话的优化方式,也是一种稍后列出它们的快速方式。到目前为止,我考虑了2种实现方式。使用MySQL数据库和a)将对话连续保存为文本,但问题是有些对话非常大(很多字符),我可能无法保存整个对话b)连续保存对话的每一行,但是当我想列出整个对话时,这样会出现速度问题将每个对话保存在一个单独的文本文件中,但我担心会出现读/写问题,尤其是当用户(客户)写(

Mysql:什么是碎片表,为什么要对它们运行 OPTIMIZE?

最近我们开始优化一个从未遵循任何标准的数据库。我们想做以下事情。cleanupofunusedtables.optimizingdatatypesandindexes.tuningslowqueries.evaluatingmy.cnfconfigurationswithmysqltuner.plandsimilarones在这个过程中,我遇到了优化碎片表。这个碎片表是什么,这将如何影响功能和性能。为什么我应该在这些表上运行OPTIMIZE...?我相信这根本不会影响功能。如果不对请指正。预先感谢您的回复。问候,乌日 最佳答案 当您