PHP中執(zhí)行排序優(yōu)勢有哪些

這篇文章主要介紹“PHP中執(zhí)行排序優(yōu)勢有哪些”,在日常操作中,相信很多人在PHP中執(zhí)行排序優(yōu)勢有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”PHP中執(zhí)行排序優(yōu)勢有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

安寧網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,安寧網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為安寧上千多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的安寧做網(wǎng)站的公司定做!

PHP與MySQL相比有哪些優(yōu)勢

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

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

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

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

5、PHP不存在表的鎖定問題;

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

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

列出一些必須在MySQL中排序的實例:

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

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

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

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

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

PHP中執(zhí)行排序優(yōu)勢有哪些

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

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

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

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

到此,關(guān)于“PHP中執(zhí)行排序優(yōu)勢有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

當(dāng)前題目:PHP中執(zhí)行排序優(yōu)勢有哪些
本文網(wǎng)址:http://bm7419.com/article38/gihdsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站響應(yīng)式網(wǎng)站、營銷型網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、定制開發(fā)搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)