小编DBa*_*DBa的帖子

强制释放PHP中的内存

在PHP程序中,我按顺序读取一堆文件(带file_get_contents),gzdecode它们,json_decode结果,分析内容,抛出大部分文件,并在数组中存储大约1%.

不幸的是,随着每次迭代(我遍历包含文件名的数组),似乎有一些内存丢失(根据memory_get_peak_usage,每次大约2-10 MB).我对我的代码进行了双重和三重检查; 我没有在循环中存储不需要的数据(并且所需的数据总体上不超过大约10MB),但我经常重写(实际上,数组中的字符串).显然,PHP没有正确释放内存,因此使用越来越多的RAM直到它达到极限.

有没有办法强制垃圾收集?或者,至少,找出内存的使用位置?

php garbage-collection

53
推荐指数
7
解决办法
5万
查看次数

MySQL加载数据infile - 加速?

有时,我必须为项目重新导入数据,因此在MySQL表中读取大约360万行(目前是InnoDB,但实际上并不仅限于此引擎)."加载数据infile ......"已被证明是最快的解决方案,但它有一个权衡: - 当没有键导入时,导入本身大约需要45秒,但密钥创建需要很长时间(已经运行了20分钟...... ). - 使用表上的键进行导入会导致导入速度变慢

表中有3个字段的键,引用数字字段.有没有办法加速这个?

另一个问题是:当我终止启动慢查询的进程时,它继续在数据库上运行.有没有办法在不重启mysqld的情况下终止查询?

非常感谢DBa

mysql indexing performance load-data-infile

29
推荐指数
2
解决办法
3万
查看次数

由于对象的当前状态,操作无效

有时候,当运行Mono .NET应用程序时(它似乎不依赖于输入数据,因为它没有改变),我遇到以下情况:当尝试从a中取出一个元素时(非空,我检查它的计数)事先)队列,抛出异常:

未处理的异常:System.InvalidOperationException:由于System.Collections.Generic.Queue 1[DBWorkItem].Peek ()[0x00000] at System.Collections.Generic.Queue1 [DBWorkItem] .Dequeue()[0x00000]在DBProcessor.process(System.Object q)[0x0006b]处的对象的当前状态,操作无效.]在<...>

虽然我当然可以捕获这个异常,但该元素已经出现并且丢失了.还有其他人遇到过这种行为吗?

.net c# linux mono

5
推荐指数
1
解决办法
1万
查看次数