灵魂腐蚀 发表于 2015-2-4 00:24:51

PHP网页设计mysql让存储了局分页,用于庞杂查询。(...

建议大家买一本书,而不光是在网上看一些零碎的资料,一本书毕竟会讲的系统一些,全面一些,而且印刷的书不受电脑的限制,但是建议在看书的时候最好旁边有电脑,这样可以很及时地上机实践。mysql|分页   mysql让存储了局分页,用于庞杂查询。

仿佛会商分页的人很少,岂非人人都沉浸于limit m,n?
在有索引的情形下,limit m,n速度足够,可是在庞杂前提搜刮时,
where somthing order by somefield+somefield
mysql会搜遍数据库,找出“一切”合适前提的纪录,然后掏出m,n笔记录。
假如你的数据量有几十万条,用户又搜刮一些很浅显的词,
然后要顺次读最初几页重温旧梦。。。mysql该很悲壮的一直操作硬盘。

所以,可以试着让mysql也存储分页,固然要法式共同。
(这里只是提出一个假想,接待人人一同会商)

ASP的分页:在ASP体系中有Recordset对象来完成分页,然而大批数据放在内存中,并且不晓得甚么时分才生效(请ASP高手指导).
SQL数据库分页:用存储进程+游标体例分页,详细完成道理不是很清晰,假想假如用一次查询就失掉需求的了局,或是id集,需求后续页时只需依照了局中的IDs读出相干纪录。如许只需很小的空间保存本次查询的一切IDs. (SQL中的查询了局不晓得如何清晰过时渣滓?)

如许,可让mysql摹拟存储分页机制:
1. select id from $table where $condition order by $field limit $max_pages*$count;
   查询合适前提的IDs.
   限制最大合适前提的纪录数目,也能够不加。
2. 由于php在履行停止后一切变量都要lost,所以可以思索:
   计划a. 在mysql创立一时表,查询了局用一个工夫或随机数作为独一标记拔出。
      个中创立page1~pagen个字段,每一个字段保留该页中需求的ids, 如许一个id对一笔记录.
   计划b. 假如翻开session,也能够放在session中保留,实践上是放在文件中保留。
         创立一个$IDs数组,$IDs~$IDs[$max_pages]. 思索到有时分用户会开几个
         窗口同时查询,要为$ids做一个独一标记,防止查询了局互相掩盖。二维数组
         和$$var都是好举措。
3. 在每页页的恳求中,直接找到对应的IDs,两头以","距离:
    select * from $table where id in ($ids); 速度相对快
4. 扫尾要思索查询了局的主动清晰,可以设置准时或按比例随机清晰。假如用mysql一时表要加上一个工夫标记字段,session中要到场$IDs["time"]=time(); 在必定工夫今后不操作视为过时数据。

5. 假如要优化,可以思索用把1和2.a中的语句兼并成select ...... into ....

Note:
1.以上只是针对mysql的修补计划,但愿mysql哪天能把这些功效加出来
2.其它数据库也能够套用。
3.假如其它数据库还有更先辈的分页体例,请告知我或mailto: steeven@kali.com.cn
4.假如真的有良多数据要查询,仍是和mysql再会吧,sql,oracle都供应了更先辈的关头词索引查询。

不断改进,以上只是抛砖引玉,接待配合切磋分页成绩。(也可关于其它数据库)
但愿有一天能把各类分页体例收拾整顿出来供老手参考。怎么配置呢 ,问最好的老实百度,问啥都有答案。所以用好搜索引擎是学好的令1个关键,程序会出各样的问题,没有1个人可能会碰到所有的问题,所有就可以问百度这个大家精华的集合了。

愤怒的大鸟 发表于 2015-2-4 13:01:11

对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。

莫相离 发表于 2015-2-9 22:47:17

个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。

若天明 发表于 2015-2-16 11:49:39

对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。

变相怪杰 发表于 2015-2-25 15:29:42

当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,

金色的骷髅 发表于 2015-3-7 22:55:57

写的比较杂,因为我也是个新手,不当至于大家多多指正。

兰色精灵 发表于 2015-3-11 18:25:34

小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。

只想知道 发表于 2015-3-16 06:51:05

本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。

深爱那片海 发表于 2015-3-22 21:04:37

真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,

爱飞 发表于 2015-3-24 08:22:34

作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。

谁可相欹 发表于 2015-4-4 17:57:59

环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。

灵魂腐蚀 发表于 2015-4-11 21:13:05

对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。

海妖 发表于 2015-4-17 04:25:50

使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的

透明 发表于 2015-4-17 19:49:24

先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。

小女巫 发表于 2015-4-26 18:43:53

基础有没有对学习php没有太大区别,关键是兴趣。

乐观 发表于 2015-4-29 13:49:08

php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。

分手快乐 发表于 2015-6-29 22:43:14

php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。

再见西城 发表于 2015-7-11 21:36:15

说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。

活着的死人 发表于 2015-7-12 22:12:39

为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。

若相依 发表于 2015-7-14 17:08:32

遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
页: [1]
查看完整版本: PHP网页设计mysql让存储了局分页,用于庞杂查询。(...