草庐IT

zend-optimizer

全部标签

php - 如何在不带括号的 Zend_Db_Select 语句中使用 "HAVING"子句?

我知道Zend提供了having()方法,但我想要的是这样的查询:SELECTa.*,`as`.*FROM`fruit_db`.`apples`AS`a`INNERJOIN`fruit_db`.`apple_seeds`AS`as`ONa.id=as.apple_idWHERE(a.id=1)ANDas.seed_nameHAVING'johnny'不是“有(as.seed_name='johnny')”回溯一下,我们有表格:fruit_db.apples|id|name|--------------|1|red||2|green|fruit_db.apple_seeds|apple_

php - 在 Zend Framework 中调用 MYSQL 存储函数(不是存储过程)

有没有办法在ZendFramework中调用MySQL存储函数(不是过程)?或者绕过框架使用未经过滤的PHP代码?在“纯”php应用程序中,以下代码有效-使用mysqli数据库连接(不是mysql)。然而在Zend框架中,这段代码不会导致应用程序错误,但也不会将结果绑定(bind)到php变量。如果您使用Zend_Db适配器,我无法找到将函数的结果绑定(bind)到变量的方法(从而得到答案-没有等同于“bind_result”的Zend_Db方法)。我看过以前的问题,但它们侧重于存储过程(例如HowcanIuseastoredprocedureinaMySqldatabasewithZ

mysql - 使用 Zend_Db 将 TIME 字段设置为 NULL

我在Zend_Db或PHP的PDOMySQL驱动程序中遇到了一个看起来很奇怪的问题,这可能是因为我对这两者缺乏了解。假设我有一个带有NULLableTIME字段的MySQL表。如果我在MySQL客户端中运行这样的查询:UPDATEmytableSETmytime=NULLWHEREid=1;一切都按预期工作,mytime字段将在该查询后保持NULL作为值。但是,如果我通过Zend_Db_Adapter在PHP中运行完全相同的查询,mytime字段将设置为'0:0:0'在这样的查询之后:$db->getConnection()->exec('UPDATEmytableSETmytime=

mysql - 推荐 "to optimize the response time of an SQL query"

我想知道优化包含超过2.000.000条记录的表的SQL查询响应时间的最佳解决方案是什么作为解决方案,我想到了创建一个SQLView的虚拟表(其实我更喜欢mysql在今年创建的行中早早的搜索,因为这个应用的数据是基于季节的。)有没有更好的解决方案或推荐?例如搜索租金12的所有租金行之前=>select*fromrent_lines其中rent_id=12现在=>我创建了一个ViewCREATEVIEWv_rent_linesASSELECTrent_id,category_id,customer_id,amount..Whererent_linesFROMcreated_at>=(se

mysqlcheck with --optimize 但仅适用于 MyISAM 表

我一直在阅读http://dev.mysql.com/doc/refman/5.0/en/mysqlcheck.html努力弄清楚如何优化我所有的MyISAM表,但似乎无法得到它。我发现它看起来像是一个手写脚本,但我无法让它发挥作用,我宁愿真正理解它。这是我遇到的:foriinmysql-e'selectconcat(table_schema,".,table_name)frominformation_schema.tableswhereengine="MyISAM"';做mysql-e“优化表$i”;完成但是如果使用更多与文档中描述的内容类似的东西会很棒,比如mysqloptimiz

c# - linq 到实体 : linq query performance optimization

我正在使用EF4.4.20627.0和MySQL5.6,MySQL.net连接器版本6.6.4我有一个这样的方法,它生成的sql非常非常慢(需要超过1分钟)privateListGetPagedNews(intpagenum,intpagesize,AdvSearcherArgsadvcArgs,stringkeyword){vardataSrc=_dbRawDataContext.TNews.Where(x=>x.Id>0);if(!string.IsNullOrWhiteSpace(advcArgs.PMAC)){dataSrc=dataSrc.Where(m=>m.Pmac==a

php - 使用 Zend Framework 2 加速 6,000 行查询

我有一个返回大约6,000个结果的查询。尽管此查询在MySQL中执行时间不到一秒,但一旦通过ZendFramework2运行,速度就会显着下降。出于这个原因,我尝试使用PDO以更“原始”的方式进行操作:classThingTableimplementsServiceLocatorAwareInterface{//...publicfunctiongoFast(){$db_config=$this->getServiceLocator()->get('Config')['db'];$pdo=newPDO($db_config['dsn'],$db_config['username'],$

php - 在 Zend\Db\Sql\Select 之后获取 SQL

我在使用zend框架2。场景是,我想知道Zend\Db\Sql\Select之后的实际SQL查询。我不能在这里使用Zend\Db\Sql\SQL和$select=newZend\Db\Sql\Select();$select->where(array($between));$select->prepareStatement($select)->getSQL();给出错误,例如,CalltoamemberfunctiongetParameterContainer()onnull正确的写法是什么? 最佳答案 您需要使用getSqlStr

php - 当查询有 "distinct"时,Zend Paginator 显示错误的页数

我在一个项目中使用Zf1.10,并且一直在使用Zend_Paginator和Zend_DbTable查询非常成功,直到现在为止。查询需要一个DISTINCT关键字来删除由联接创建的重复行,但是当我添加它时,分页器错误地显示了两页结果的导航,而实际上只有一页结果。一些挖掘表明它正在执行两个查询,一个用于我之后的结果集(77行),另一个用于获取计数。但是Zend魔法生成的第二个查询不包含DISTINCT关键字,因此计数返回112行而不是77行。这是相关的部分$select=$this->select()->setIntegrityCheck(false)->from('companies'

php - zend db 查询获取不需要的列

所以我有这段代码:$db=newZend_Db_Adapter_Pdo_Mysql($params);$sql=$db->select()->from(array("r"=>"recc"),array("r_id"=>"refID"))->joinLeft(array("c"=>"comment"),"r.refID=c.refID");$results=$db->fetchAll($sql);print_r($results);应该翻译成这个查询:SELECTrefIDASr_idFROMreccrLEFTJOINcommentcONr.refID=c.refID它应该只返回一个单独