BeWithYou

胡搞的技术博客

PHP

PDO查询结果直接遍历更省内存


最近导数据的时候发现一个问题,内存有时占用过多导致PHP进程挂掉。 看了下项目封装的PDO,用不同的接口会有不同的内存占用情况。其中一种直接对于PDOStatement对象进行遍历,还有一种是fetchAll()了以后进行遍历。结果当然是后者占用太多内存。 $conn = new PDO('mysql:host=localhost;dbname=mydb', 'username', 'password'); $st = $conn->prepare("SELECT……
运维/工具

有关TRUNCATE不能事务回滚


今天做一个从文本全量导入数据库的功能,每次全量更新表里的数据。想法是在事务里先truncate掉表格,然后批量insert进去,出错则rollback,全部insert成功则commit。 然而发现一个问题,truncate以后即使回滚了也不能回到最初的状态。查了一下,truncate属于DDL语句,执行的时候是隐含着自动commit的,所以并不能在事务里使用。 简要记一下MySQL中数据语言的概念: 数据查询语……
回到顶部