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主键做索引当然快。

这样 *** 作的话, 需要提交页面信息的。建议你这样写:

$action = isset($_REQUEST['action'])?$_REQUEST['action']:'list'

if($action == "list"){

//列表显示

}

elseif($action == "add"){

//添加 *** 作

}

....等等。

另外需要注意的就是你的from表单的action指向,eq:action=“?action=add” 或action ="?action=update"等等。

首先你的数据库设计不合理,国内国外新闻应该放在一个表里面,增加一个字段来标识国内和国外,那样你的程序会非常简单。

如果不改变你现在的数据库,那么调用新的页面必须要增加一个参数,表示调用的国内还是国外,sql里面根据这个参数设置不同的表,例如:

if ($lb=='国内') $str="select * from gjfl where did='$id'"

else $str="select * from gjbz where did='$id'"

$sql=mysql_query($str)


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

原文地址: http://outofmemory.cn/zaji/8634195.html

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

发表评论

登录后才能评论

评论列表(0条)

保存