Php 会话还是SQL?
我一直在使用一个机器人,我已经编码了很长一段时间了,它工作得很好。 它进入一个域,解析索引,将所有内部链接保存在一个会话变量(称为array1)中,然后刷新自身,将索引移动到另一个会话变量(array2)并将其从array1中删除,解析array1中的下一页,检查它找到的新内部链接是否已经在两个数组中的任何一个中,如果没有,则将它们保存在array1中,等等它基本上是一个域中所有页面的列表 这个机器人一直在爬一些相当大的网站(20k+页面),它做得很好,只是花了一些时间,但这并不困扰我。现在我想让它抓取一些更大的网站(200k+页),我想听听你对处理数据的最佳方式的看法 我应该继续上课吗?我知道会话使用磁盘空间,即使我的raspberry pi非常稳定,它是否能够处理20Mb+的变量? 我应该将所有URL保存在sql表中吗?在这种情况下,sql能处理多少数据 多谢各位Php 会话还是SQL?,php,sql,session,bigdata,Php,Sql,Session,Bigdata,我一直在使用一个机器人,我已经编码了很长一段时间了,它工作得很好。 它进入一个域,解析索引,将所有内部链接保存在一个会话变量(称为array1)中,然后刷新自身,将索引移动到另一个会话变量(array2)并将其从array1中删除,解析array1中的下一页,检查它找到的新内部链接是否已经在两个数组中的任何一个中,如果没有,则将它们保存在array1中,等等它基本上是一个域中所有页面的列表 这个机器人一直在爬一些相当大的网站(20k+页面),它做得很好,只是花了一些时间,但这并不困扰我。现在我想
(我在网上搜索过,但似乎没有什么能真正接近我的体验)当然,数据库可以处理比会话多得多的数据。它们就是为此而设计的。一些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