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主键做索引当然快。
不进行结构优化的话只能用缓存了讲结果缓存进 memcache ,并记录缓存 hits 和 时间,每次先检查是否在memcache 里,在的话直接返回
不在的话就去数据库查询,然后看memcache是否满了,不满就添加到memcache里。否则就不添加。
另外运行一个守护进程,对缓存时间过长并且hits 很低的记录删除掉,清除memcache空间。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)