mysql 如何处理亿级数据

mysql 如何处理亿级数据,第1张

1、数据表 collect ( id, title ,info ,vtype) 就这4个字段,其中 title 用定长,info 用text, id 是逐渐,vtype是tinyint,vtype是索引。这是一个基本的新闻系统的简单模型。现在往里面填充数据,填充10万篇新闻。 

2、最后collect 为 10万条记录,数据库表占用硬盘1.6G。OK ,看下面这条sql语句:select id,title from collect limit 1000,10很快;基本上0.01秒就OK,再看下面的select id,title from collect limit 90000,10从9万条开始分页。

3、8-9秒完成。

4、看下面一条语句:select id from collect order by id limit 90000,10很快,0.04秒就OK。因为用了id主键做索引当然快。

1.优化数据结构,每张数据表字段4-5个,加上索引。还可以将不同的种类的数据存入不同的数据库。减少单个数据库的压力。

2.写入数据只是存的问题,问题在于读取数据会变慢。建议使用缓存memcache,redis在向你招收哦。将用户数据存入内存,再次读取避免从数据库查找。

3.分布式,搞集群,扩大配置。

一条新闻的相关信息,来源,作者,正文,这些基本不变咯,除了正文可能文字比较多,其他的你可以存进缓存,正文的话,你这里可以把前面200字作为正文缩略,存进缓存。

如果单讲存储,那只要你的硬盘够大都可以,但如果要讲效率就得想办法,如根据年份把数据放到不同的表里,或不同的机子上,因为一个表放这么多数据效率会很低的,但如果分开放又会出现统计、去重这类 *** 作的麻烦,所以设置数据库不能只考虑三级范式,难的是设置的有效率。


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

原文地址:https://54852.com/zaji/7344380.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存