国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - PHP教程 - 數(shù)據(jù)庫(kù)中排序的對(duì)比及使用條件詳解

數(shù)據(jù)庫(kù)中排序的對(duì)比及使用條件詳解

2019-12-26 16:41PHP教程網(wǎng) PHP教程

PHP與MySQL數(shù)據(jù)庫(kù)中排序的對(duì)比及使用條件是本文我們主要要介紹的內(nèi)容,通常來(lái)說(shuō),執(zhí)行效率需要考慮CPU、內(nèi)存和硬盤(pán)等的負(fù)載情況

假定MySQL服務(wù)器和PHP服務(wù)器都已經(jīng)按照最適合的方式來(lái)配置,那么系統(tǒng)的可伸縮性(Scalability)和用戶(hù)感知性能(User-perceived Performance)是我們追求的主要目標(biāo)。在實(shí)際運(yùn)行中,MYSQL 中數(shù)據(jù)往往以 HASH tables、BTREE 等方式存貯于內(nèi)存,操作速度很快;同時(shí)INDEX 已經(jīng)進(jìn)行了一些預(yù)排序;很多應(yīng)用中,MySQL 排序是首選。

PHP與MySQL相比具有如下優(yōu)勢(shì):

1、考慮整個(gè)網(wǎng)站的可伸縮性和整體性能,在應(yīng)用層(PHP)中排序明顯會(huì)降低數(shù)據(jù)庫(kù)的負(fù)載,從而提升整個(gè)網(wǎng)站的擴(kuò)展能力。而數(shù)據(jù)庫(kù)的排序,實(shí)際上成本是非常高的,消耗內(nèi)存、CPU,如果并發(fā)的排序很多,DB 很容易到瓶頸。

2、如果在應(yīng)用層(PHP)和MYSQL之間還存在數(shù)據(jù)中間層,合理利用,PHP會(huì)有更好的收益。

3、PHP在內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)專(zhuān)門(mén)針對(duì)具體應(yīng)用來(lái)設(shè)計(jì),比數(shù)據(jù)庫(kù)更為簡(jiǎn)潔、高效;

4、PHP不用考慮數(shù)據(jù)災(zāi)難恢復(fù)問(wèn)題,可以減少這部分的操作損耗;

5、PHP不存在表的鎖定問(wèn)題;

6、MySQL中排序,請(qǐng)求和結(jié)果返回還需要通過(guò)網(wǎng)絡(luò)連接來(lái)進(jìn)行,而PHP中排序之后就可以直接返回了,減少了網(wǎng)絡(luò)IO。

至于執(zhí)行速度,差異應(yīng)該不會(huì)很大,除非應(yīng)用設(shè)計(jì)有問(wèn)題,造成大量不必要的網(wǎng)絡(luò)IO。另外,應(yīng)用層要注意PHP 的 Cache 設(shè)置,如果超出會(huì)報(bào)告內(nèi)部錯(cuò)誤;此時(shí)要根據(jù)應(yīng)用做好評(píng)估,或者調(diào)整Cache。具體選擇,將取決于具體的應(yīng)用。

列出一些PHP中執(zhí)行排序更優(yōu)的情況:

1、數(shù)據(jù)源不在MySQL 中,存在硬盤(pán)、內(nèi)存或者來(lái)自網(wǎng)絡(luò)的請(qǐng)求等;

2、數(shù)據(jù)存在 MySQL 中,量不大,而且沒(méi)有相應(yīng)的索引,此時(shí)把數(shù)據(jù)取出來(lái)用PHP排序更快;

3、數(shù)據(jù)源來(lái)自于多個(gè)MySQL 服務(wù)器,此時(shí)從多個(gè) MySQL 中取出數(shù)據(jù),然后在PHP中排序更快;

4、除了MySQL 之外,存在其他數(shù)據(jù)源,比如硬盤(pán)、內(nèi)存或者來(lái)自網(wǎng)絡(luò)的請(qǐng)求等,此時(shí)不適合把這些數(shù)據(jù)存入MySQL 后再排序;

列出一些必須在MySQL中排序的實(shí)例:

1、MySQL中已經(jīng)存在這個(gè)排序的索引;

2、MySQL中數(shù)據(jù)量較大,而結(jié)果集需要其中很小的一個(gè)子集;比如 1000000 行數(shù)據(jù),取TOP 10;

3、對(duì)于一次排序、多次調(diào)用的情況,比如統(tǒng)計(jì)聚合的情形,可以提供給不同的服務(wù)使用,那么在MySQL 中排序是首選的。另外,對(duì)于數(shù)據(jù)深度挖掘,通常做法是在應(yīng)用層做完排序等復(fù)雜操作,把結(jié)果存入MySQL即可,便于多次使用。

4、不論數(shù)據(jù)源來(lái)自哪里,當(dāng)數(shù)據(jù)量大到一定的規(guī)模后,由于占用內(nèi)存/Cache 的關(guān)系,不再適合PHP中排序了;此時(shí)把數(shù)據(jù)復(fù)制、導(dǎo)入或者存在MySQL ,并用INDEX 優(yōu)化,是優(yōu)于PHP 的。不過(guò),用 Java,甚至 C++ 來(lái)處理這類(lèi)操作會(huì)更好。 有些類(lèi)似大數(shù)據(jù)集聚合或者匯總的數(shù)據(jù),在客戶(hù)端排序得不償失。當(dāng)然,也有用類(lèi)似搜索引擎的思路來(lái)解決類(lèi)似應(yīng)用的情況。

從網(wǎng)站整體考慮,就必須加入人力和成本的考慮。假如網(wǎng)站規(guī)模和負(fù)載較小,而人力有限(人數(shù)和能力都可能有限),此時(shí)在應(yīng)用層(PHP)做排序要做不少開(kāi)發(fā)和調(diào)試工作,耗費(fèi)時(shí)間,得不償失;不如在DB 中處理,簡(jiǎn)單快速。對(duì)于大規(guī)模的網(wǎng)站,電力、服務(wù)器的費(fèi)用很高,在系統(tǒng)架構(gòu)上精打細(xì)算,可以節(jié)約大量的費(fèi)用,是公司持續(xù)發(fā)展之必要;此時(shí)如果能在應(yīng)用層(PHP) 進(jìn)行排序并滿(mǎn)足業(yè)務(wù)需求,盡量在應(yīng)用層進(jìn)行。

關(guān)于PHP中執(zhí)行排序與MySQL中執(zhí)行排序的相關(guān)知識(shí)就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美综合影院 | 亚洲精品乱码久久久久久按摩观 | 久久精品亚洲精品国产欧美kt∨ | 羞羞视频在线播放 | av看片网 | 亚洲视频在线免费观看 | 黄色影院在线观看 | 日韩城人网站 | 国产精品欧美一区二区三区不卡 | 国产视频第一页 | 91在线免费看| 午夜视频免费在线观看 | 日韩毛片免费在线观看 | 精品九色| 黄色日本视频 | 日本中文字幕在线观看 | 久久久91精品国产一区二区三区 | 亚洲欧美日韩国产综合精品二区 | 91九色视频国产 | 亚洲一区二区国产 | 黄片毛片免费观看 | 久久天天躁狠狠躁夜夜躁2014 | 国产精品久久综合 | 欧美国产日韩一区 | 最新电影在线高清免费完整观看视频 | 欧美成人高清视频 | 欧美成年黄网站色视频 | 成年人免费在线观看视频网站 | 国产日本韩国在线 | 欧美日韩国产在线观看 | 中文字幕av一区二区三区 | 日本成片视频 | 日韩三级 | 4h影院 | 激情综合色综合久久综合 | 久久av资源 | 午夜精品视频 | 精品亚洲一区二区 | 久久噜噜噜精品国产亚洲综合 | 亚洲精品乱码久久久久久花季 | 国产精品1区 |