一个数据库中每一兆字节的空间能存储多少页?

一个数据库中每一兆字节的空间能存储多少页?,第1张

一兆字节略等于1百万字节,一般情况下一个英文字符1个字节,一个汉字2个字节,大概一兆字节可以存储50万个汉字,很大了,一般的中篇小说不到一兆。

页数太不确定了,可以按照多少行来、每行多少字来初略计算。

根据我的理解你的程序的主要作用是:

抓取另外一个网站的页面内容

解析后存储到自己的数据库里面

然后再在页面上显示刚刚抓取的数据

如果我的理解正确的话,你要做的是一个网站数据采集器,那么

分页存储的方法有两种:

方案A

在数据库找个表存储当前进行到的序号,比如现在网站上有1000个数据,有个字段可以标定数据的序号,就是网站文章的id(这个数据根据业务的不同要自己去寻找)

然后你读取对方网站的时候先把网站的html读取到java内存中,然后解析这些html,读出一个list列表

在对list列表遍历的时候,把文章的id跟数据库中存储的文章id比对,如果发现是已经存储过的文章id就不存储,如果是没存储过的再存储

在遍历的过程中记录下当前存储的文章数量,当达到一个指定的数量(你可以自己定义,比如是100个文章)的时候停止存储,并退出循环,然后把当前遍历到的文章id存储到数据库中

这样就实现了每次只存储指定的数量(比如100个文章)

方案B

如果你要抓取的网站也是分页的,那么你就每次抓取一页,并把当前抓取到的页数记录到数据库中

通过观察得出对方网站的不同页数据的url规律,比如发现他们网站第x页的数据总是根据 域名/具体的页面?page=x ,那么下次抓取的时候,从数据库读出上次抓取的页面数,然后加1

拼出新的页面的url,然后访问,再进行抓取

这样就实现了每次只存储一页数据

分页显示的方法:

使用mysql的 limit 语法:limit x,y ,代表从第x行开始读取 y 行数据

假定当前要翻到第page页,每页有row行数据,sql要这么写

select * from user limit ((page-1)*row),row

举个例子一页20条,第3页的写法

select * from user limit 40,20


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9930406.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存