PHP-一个MySQL或MariaDB事务中可以使用多少个查询
作者:互联网
一个MySQL / MariaDB事务中可以使用几个查询?
事务中使用的查询数量是否有限制?目前,我已经对一个大型ZF1项目进行了测试,该交易具有175,000个查询,并且工作正常!
该事务将每月执行一次,但是将来可以增加查询数量.
增加交易量时,查询数量是否有限制,或者存在性能问题?
$db = Zend_Db_Table_Abstract::getDefaultAdapter();
// begin database transaction
$db->beginTransaction();
try {
// here comes the bulk processing with insert, update and delete queries
$this->monthlyBatchProcessing();
// commit all changes
$db->commit();
} catch (Exception $ex) {
// rollback changes upon exception
$db->rollBack();
throw $ex;
}
解决方法:
有关innodb_log_buffer_size
,请参见手册页.该设置通常默认为8M或16M.
查看您当前的尺寸:
SHOW VARIABLES LIKE "%innodb_log_buffer_size%";
可以将其设置为GB范围.缺点是,它占用了系统内存.好处是,在将其刷新到磁盘之前,可以将更多的东西塞入其中.因此,磁盘I / O被推迟并以较大的块完成,而不是更频繁的较小块.
较高的值将提供更好的性能,这与大文件副本的性能明显好于相同数据大小但文件超过100至1000的文件没有什么不同.当然,这是对其的过度简化.事务仍然需要处理innodb日志本身的开销.
要查看日志缓冲区被视为过小的次数(“在继续之前刷新该缓冲区的次数”):
SHOW GLOBAL STATUS LIKE 'innodb_log_waits';
标签:php-5-5,zend-framework,mysql,php 来源: https://codeday.me/bug/20191026/1940292.html