如何处理大量数据以实现良好性能?

时间:2013-04-19 07:18:08

标签: php mysql

我有一些大小为1mb到2mb的文件(我一次需要一个文件),我希望使用fopen()在我的网站上加载,然后在网站上显示相关信息。我必须时不时地阅读这些文件,然后在文件内搜索并显示信息:

所以我想知道哪个选项在性能方面更好,

  1. 我是否应该使用fopen()打开文件,然后使用。

  2. 我是否应该将文件数据转换为数组,然后加载并使用。

  3. 我是否应该将所有数据插入MySQL然后获取并使用。

  4. 我是否应该加载/获取信息然后将其序列化,然后将其保存到文件中并将其用于将来的所有用途。
  5. 或是否有其他选择。

    数据是这样的,大约有30,000行:

    1000,Asther,Asther Path,0,50,,70,5,2,,5,FFF,7,2,,24,,45,,{ "is a good girl" },{},{} 
    1001,Sinkn,Sinkn Keth,0,50,,70,,7,34,6,FFF,7,2,65,3,,67,,{ "Like flower" },{},{} 
    

1 个答案:

答案 0 :(得分:1)

如果您只有1个文件来加载数据,那么文件比MySQL更容易。文件中的数组定义将是更好的选择(节省解析/反序列化的时间)。

如果你有相当多的文件,那么逐个扫描目录和fopen文件会很慢。将文件转换为数组/序列化数据并没有多大帮助。文件操作加目录扫描在PHP中比在MySQL中慢。 MySQL将自动索引您的数据,因此对于任何复杂的搜索,它都会比PHP更好。在这种情况下,MySQL将是更好的选择。