Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 会话还是SQL?_Php_Sql_Session_Bigdata - Fatal编程技术网

Php 会话还是SQL?

Php 会话还是SQL?,php,sql,session,bigdata,Php,Sql,Session,Bigdata,我一直在使用一个机器人,我已经编码了很长一段时间了,它工作得很好。 它进入一个域,解析索引,将所有内部链接保存在一个会话变量(称为array1)中,然后刷新自身,将索引移动到另一个会话变量(array2)并将其从array1中删除,解析array1中的下一页,检查它找到的新内部链接是否已经在两个数组中的任何一个中,如果没有,则将它们保存在array1中,等等它基本上是一个域中所有页面的列表 这个机器人一直在爬一些相当大的网站(20k+页面),它做得很好,只是花了一些时间,但这并不困扰我。现在我想

我一直在使用一个机器人,我已经编码了很长一段时间了,它工作得很好。 它进入一个域,解析索引,将所有内部链接保存在一个会话变量(称为array1)中,然后刷新自身,将索引移动到另一个会话变量(array2)并将其从array1中删除,解析array1中的下一页,检查它找到的新内部链接是否已经在两个数组中的任何一个中,如果没有,则将它们保存在array1中,等等它基本上是一个域中所有页面的列表

这个机器人一直在爬一些相当大的网站(20k+页面),它做得很好,只是花了一些时间,但这并不困扰我。现在我想让它抓取一些更大的网站(200k+页),我想听听你对处理数据的最佳方式的看法

我应该继续上课吗?我知道会话使用磁盘空间,即使我的raspberry pi非常稳定,它是否能够处理20Mb+的变量? 我应该将所有URL保存在sql表中吗?在这种情况下,sql能处理多少数据

多谢各位


(我在网上搜索过,但似乎没有什么能真正接近我的体验)

当然,数据库可以处理比会话多得多的数据。它们就是为此而设计的。一些GB大型数据库对于MySQL、Postgresql或MS SQLserver来说并不令人兴奋。

TLDR:我打赌在遇到MySQL特定的限制之前,您会遇到完全不同的问题(存储空间、计算能力、操作系统限制)


MySQL限制:

按类型划分的每个字段():

每个平台的表()


非常感谢,我知道大小限制,但我不确定sql能处理得多好,我的意思是sql在返回100MB结果时会非常慢吗?我现在得到了答案。干杯这篇文章显示100MB的结果集并没有什么不寻常的地方。这篇文章真的很有帮助。我不会遇到像那个家伙那样多的问题,因为我“只是”需要选择数十万行,或者几百万行,仅此而已,并且总是需要选择所有行。我会没事的,今晚晚些时候我会试试的。再次感谢!
TINYTEXT     256 bytes   
TEXT         64kb
MEDIUMTEXT   16MB
LONGTEXT     4GB
Win32         FAT/FAT32    2GB/4GB
Win32         NTFS         2TB (possibly larger)
Linux 2.2 x86              2GB (LFS: 4GB)
Linux 2.4+    ext3         4TB
Solaris 9/10               16TB
MacOS X       HFS+         2TB
NetWare       NSS          8TB