所以,我有一个PHP通过DB中的大表,然后当我得到结果时,我将它们放入CSV。但是这个表不断增长,现在我得到了错误,允许内存大小耗尽。
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
<div id="content">
<h1>My Favorite Flowers</h1>
<div class="flowers">
<h2>Hydrangia</h2>
<p><i>Hydrangea</i></p>
<img src="img/hydrangia.jpg" />
<p>Sun</p>
</div>
<div class="flowers">
<h2>Hydrangia</h2>
<p><i>Hydrangea</i></p>
<img src="img/hydrangia.jpg" />
<p>Sun</p>
</div>
<div class="flowers">
<h2>Hydrangia</h2>
<p><i>Hydrangea</i></p>
<img src="img/hydrangia.jpg" />
<p>Sun</p>
</div>
<div class="flowers">
<h2>Hydrangia</h2>
<p><i>Hydrangea</i></p>
<img src="img/hydrangia.jpg" />
<p>Sun</p>
</div>
<div class="flowers">
<h2>Hydrangia</h2>
<p><i>Hydrangea</i></p>
<img src="img/hydrangia.jpg" />
<p>Sun</p>
</div>
</div>
由于表的大小,我无法将其放入csv。我怎么能减少这个查询的大小?我应该使用LIMIT然后把它分成两半吗?
答案 0 :(得分:3)
如果您正在写入CSV,请使用fopen / fwrite保持流而不是尝试连接到字符串(如果它很大,将导致内存不足),对于数据库查询本身,使用_fetch_array()您可以将结果保持在服务器上,同时只从PHP中逐行检索。
这应该会使内存使用率保持在较低水平。