仓酷云 发表于 2015-2-3 23:32:57

PHP网站制作之数据库中排序的对照及利用前提详解

培训的第一阶段,学习的是HTML/CSS/JavaScript基础。      PHP与MySQL数据库中排序的对照及利用前提是本文咱们次要要引见的内容,凡是来讲,履行效力需求思索CPU、内存和硬盘等的负载情形,假定MySQL办事器和PHP办事器都已依照最合适的体例来设置装备摆设,那末体系的可伸缩性(Scalability)和用户感知功能(User-perceived Performance)是咱们寻求的次要方针。在实践运转中,MYSQL 中数据常常以 HASH tables、BTREE 等体例存贮于内存,操作速度很快;同时INDEX 已停止了一些预排序;良多使用中,MySQL 排序是首选。
  PHP与MySQL比拟具有以下优势:
  1、思索全部网站的可伸缩性和全体功能,在使用层(PHP)中排序分明会下降数据库的负载,从而提拔全部网站的扩大才能。而数据库的排序,实践上本钱长短常高的,损耗内存、CPU,假如并发的排序良多,DB 很轻易到瓶颈。
  2、假如在使用层(PHP)和MYSQL之间还存在数据两头层,公道使用,PHP会有更好的收益。
  3、PHP在内存中的数据布局专门针对详细使用来设计,比数据库更加简约、高效;
  4、PHP不必思索数据灾害恢复成绩,可以削减这局部的操作消耗;
  5、PHP不存在表的锁定成绩;
  6、MySQL中排序,恳求和了局前往还需求经由过程收集毗连来停止,而PHP中排序以后就能够直接前往了,削减了收集IO。
  至于履行速度,差别应当不会很大,除非使用设计有成绩,形成大批不用要的收集IO。别的,使用层要注重PHP 的 Cache 设置,假如超越会呈报外部毛病;此时要依据使用做好评价,或调剂Cache。详细选择,将取决于详细的使用。
  列出一些PHP中履行排序更优的情形:
  1、数据源不在MySQL 中,存在硬盘、内存或来自收集的恳求等;
  2、数据存在 MySQL 中,量不大,并且没有响应的索引,此时把数据掏出来用PHP排序更快;
  3、数据源来自于多个MySQL 办事器,此时从多个 MySQL 中掏出数据,然后在PHP中排序更快;
  4、除MySQL 以外,存在其他数据源,好比硬盘、内存或来自收集的恳求等,此时不合适把这些数据存入MySQL 后再排序;
  列出一些必需在MySQL中排序的实例:
  1、MySQL中已存在这个排序的索引;
  2、MySQL中数据量较大,而了局集需求个中很小的一个子集;好比 1000000 行数据,取TOP 10;
  3、关于一次排序、屡次挪用的情形,好比统计聚合的情况,可以供应给分歧的办事利用,那末在MySQL 中排序是首选的。别的,关于数据深度发掘,凡是做法是在使用层做完排序等庞杂操作,把了局存入MySQL便可,便于屡次利用。
  4、不管数据源来自哪里,当数据量大到必定的范围后,因为占用内存/Cache 的关系,不再合适PHP中排序了;此时把数据复制、导入或存在MySQL ,并用INDEX 优化,是优于PHP 的。不外,用 Java,乃至 C++ 来处置这类操作会更好。 有些相似大数据会聚合或汇总的数据,在客户端排序得失相当。固然,也有效相似搜刮引擎的思绪来处理相似使用的情形。
  从网站全体思索,就必需到场人力和本钱的思索。假设网站范围和负载较小,而人力无限(人数和才能都能够无限),此时在使用层(PHP)做排序要做很多开辟和调试任务,消耗工夫,得失相当;不如在DB 中处置,复杂疾速。关于大范围的网站,电力、办事器的费用很高,在体系架构上一丝不苟,可以勤俭大批的费用,是公司延续开展之需要;此时假如能在使用层(PHP) 停止排序并知足营业需求,尽可能在使用层停止。
  关于PHP中履行排序与MySQL中履行排序的相干常识就引见到这里了,但愿本次的引见可以对您有所播种!
接触MYSQL,开始设计数据库程序

冷月葬花魂 发表于 2015-2-4 02:00:36

首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。

仓酷云 发表于 2015-2-9 09:45:20

其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。

若相依 发表于 2015-2-27 05:24:49

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

透明 发表于 2015-3-8 22:15:25

因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax

因胸联盟 发表于 2015-3-15 18:12:35

微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。

山那边是海 发表于 2015-3-20 20:46:47

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

活着的死人 发表于 2015-3-21 10:29:03

我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。

柔情似水 发表于 2015-3-26 11:50:26

本文当是我的笔记啦,遇到的问题随时填充

只想知道 发表于 2015-3-29 10:50:27

Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81

若天明 发表于 2015-4-1 08:53:42

最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。

爱飞 发表于 2015-4-9 09:53:02

至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。

第二个灵魂 发表于 2015-4-10 10:36:55

刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。

深爱那片海 发表于 2015-4-13 03:43:35

Ps:以上纯属原创,如有雷同,纯属巧合

蒙在股里 发表于 2015-4-15 19:06:29

做为1门年轻的语言,php一直很努力。

再现理想 发表于 2015-6-13 21:29:29

当然这种网站的会员费就几十块钱。

不帅 发表于 2015-7-7 21:40:36

如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,

小妖女 发表于 2015-7-19 01:04:03

我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。

再见西城 发表于 2015-7-22 21:51:12

在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。

老尸 发表于 2015-7-28 17:48:38

你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
页: [1] 2
查看完整版本: PHP网站制作之数据库中排序的对照及利用前提详解