PHP网页设计Php+mysql处置大容量数据存储
刚开始写页面程序,调试完书中的例子。然后就可以尝试编写留言板了,mysql|数据 在一个PHP的服装论坛上看到了如许一个贴子,索引将谜底贴到这里让人人看看,但愿对人人有匡助quote:
--------------------------------------------------------------------------------
当数据库很大如10万条,1GB巨细时,如何搜刮才高效?
请问版主,我如今在调试一个服装论坛,向数据库中写入了10万多条信息,此时次要的内容都集中在一个表上,有近1GB巨细。
搜刮该服装论坛时很慢,出格是全文搜刮时,即便只用
SELECT * FROM `cdb_posts` WHERE message='本褴褛陈腐的小册子从怀中掏出递给我'
也很慢,在台式机上乃至基本运转不完。但我传闻sun公司的服装论坛(上面有近百个分服装论坛)停止全文搜刮时也不超越20秒,咱们可否做到。
我运转搜刮法式时,cpu和内存占用率都很低,只要硬盘灯一向在闪,我总以为是法式不敷高效,是否是可以把法式写出相似“多线程”,以进步效力。
请版主和各路大侠指教!
感谢。
--------------------------------------------------------------------------------
有人建议它用ORACLE
我感觉有一点人人要注重,那就是假如你让oracle履行一个 select * from xxxx where xxx = 'xxxxxxxxxxxxxx';
这个表有1G的时分相对不会比MYSQL快上几何。
如今的这么多盛行的数据库体系上履行不异的操作时不成能快上良多倍的。
关头在于你的数据库设计。
我在做一个贸易信息的搜刮引擎,在做的过程当中失掉一些经历。以下:
1。 创立摘要表
2。 关于那些数字模式且常常查询的数据必定要创立索引,我不记得在哪里看到一篇贴子说甚么:“不要用那渣滓的索引”.愁闷了N久。这类贴子都有。。哎。
建议: 在where中的用到的尺寸不大的condition普通都要索引。尺寸大的独自表中存储且要用like查询的独自表中存储。
3。 关于有良多了局的时分不要select *... ,先select ID.... 然后获得ID落后行分页掌握,掏出以后页中的ID到数组。。 再履行select * from xxx where ID in(implode(',', $ID数组);
假如失掉的数据还要停止join,请在这条select 语句中来停止。由于如许数据库停止join的选择因子会小良多。
4。关于要全文检索的数据和如今的数据分别出来。以数据库设计中第二范式的模式暗示.在独自表中存储和数据主键对应的信息.
5。给表加上一个primary , int(smallint、tinyint 看要几何条数据).
6。在做好体系后用explain select .... 对体系中耗时的语句停止剖析。看看MYSQL是若何处置这条语句的。
7。假如有能够,把信息分表存储(也可散布在分歧的数据库办事器上)
自己禺见,感觉好的顶一看。。感觉差的就当是看个笑话。。。
__________________
自己回覆的成绩,如无出格注明, 均未测试过....
说说这一个月左右的学习情况和心得吧!我个人认为,既然决定了去做一件事,那就要以认真的态度去对待!既然决定来学习了,那不管当初是抱着怎样的心态来到这个培训班的,都要让自己认真的投入到学习中。 环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。 建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。 建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。 真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎, 当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标, 遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。 遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。 其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。 实践是检验自己会不会的真理。 小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。 因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax 其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎 实践是检验自己会不会的真理。 真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎, 这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。 装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。 当然这种网站的会员费就几十块钱。 不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
页:
[1]