php+mysql查詢(xún)優(yōu)化簡(jiǎn)單實(shí)例
本文實(shí)例分析了php+mysql查詢(xún)優(yōu)化的方法。分享給大家供大家參考。具體分析如下:
PHP+Mysql是一個(gè)最經(jīng)常使用的黃金搭檔,它們倆配合使用,能夠發(fā)揮出最佳性能,當(dāng)然,如果配合Apache使用,就更加Perfect了.
因此,需要做好對(duì)mysql的查詢(xún)優(yōu)化,下面通過(guò)一個(gè)簡(jiǎn)單的例子,展現(xiàn)不同的SQL語(yǔ)句對(duì)于查詢(xún)速度的影響.
存在這樣的一張表test,它有一個(gè)自增的id作為主索引,現(xiàn)在要查詢(xún)id號(hào)處于某一個(gè)范圍內(nèi)的記錄,可以使用如下SQL語(yǔ)句:
FROM `test`
order by id asc
limit 208888,50
這條SQL語(yǔ)句的意思是從id號(hào)為208888的記錄開(kāi)始向后取50條記錄,在一個(gè)30萬(wàn)條記錄的數(shù)據(jù)庫(kù)中測(cè)試,在主索引都已經(jīng)建立好的情況下,執(zhí)行這條語(yǔ)句的時(shí)間為40~50秒,那么有沒(méi)有更快SQL語(yǔ)句來(lái)執(zhí)行呢?顯然是有的,看看下面這條SQL語(yǔ)句:
FROM `test`
WHERE id
BETWEEN 208838
AND 208888
這條語(yǔ)句使用了一個(gè)條件進(jìn)行過(guò)濾,在實(shí)際中測(cè)試的執(zhí)行時(shí)間約為0.06秒.
究其原因,是因?yàn)殡m然id屬性上已經(jīng)有索引了,但是排序仍然是一個(gè)非常高代價(jià)的操作,要慎用,而第二個(gè)語(yǔ)句,就可以讓MySql充分利用數(shù)據(jù)庫(kù)中已經(jīng)建立好的B+樹(shù)索引,所以查找起來(lái)速度相當(dāng)快,是原來(lái)的幾百倍.
由此可見(jiàn),網(wǎng)站開(kāi)發(fā)者在使用SQL語(yǔ)句的時(shí)候,一定要小心謹(jǐn)慎,因?yàn)橐粋€(gè)疏忽大意的SQL語(yǔ)句,可能使得你的網(wǎng)站訪(fǎng)問(wèn)速度急劇下降,后臺(tái)數(shù)據(jù)庫(kù)面臨巨大壓力,并且很快陷入無(wú)法打開(kāi)頁(yè)面的窘境.
希望本文所述對(duì)大家的php+mysql程序設(shè)計(jì)有所幫助。
- PHP執(zhí)行批量mysql語(yǔ)句的解決方法
- 使用phpMyAdmin批量修改Mysql數(shù)據(jù)表前綴的方法
- php+mysqli實(shí)現(xiàn)批量執(zhí)行插入、更新及刪除數(shù)據(jù)的方法
- php+mysqli批量查詢(xún)多張表數(shù)據(jù)的方法
- php往mysql中批量插入數(shù)據(jù)實(shí)例教程
- PHP mysqli 增強(qiáng) 批量執(zhí)行sql 語(yǔ)句的實(shí)現(xiàn)代碼
- php從memcache讀取數(shù)據(jù)再批量寫(xiě)入mysql的方法
- php+mysqli實(shí)現(xiàn)批量替換數(shù)據(jù)庫(kù)表前綴的方法
- php中批量刪除Mysql中相同前綴的數(shù)據(jù)表的代碼
- PHP實(shí)現(xiàn)mysqli批量執(zhí)行多條語(yǔ)句的方法示例
- PHP數(shù)據(jù)庫(kù)編程之MySQL優(yōu)化策略概述
- PHP優(yōu)化之批量操作MySQL實(shí)例分析
相關(guān)文章
分享下php5類(lèi)中三種數(shù)據(jù)類(lèi)型的區(qū)別
這篇文章主要介紹了php5類(lèi)中三種數(shù)據(jù)類(lèi)型的區(qū)別,需要的朋友可以參考下2015-01-01PHP中require和include路徑問(wèn)題詳解
這篇文章主要介紹了PHP中require和include路徑問(wèn)題詳解,十分詳細(xì),需要的朋友可以參考下2014-12-12PHP驗(yàn)證碼類(lèi)代碼( 最新修改,完全定制化! )
PHP驗(yàn)證碼類(lèi)代碼,需要的朋友可以參考下。2010-12-12如何用PHP實(shí)現(xiàn)多線(xiàn)程編程
原以為 PHP 普遍都是單線(xiàn)程模型,并不適合多線(xiàn)程領(lǐng)域,發(fā)現(xiàn)PHP的多線(xiàn)程也頗有可取之處,用來(lái)解決某些問(wèn)題竟然非常適合。本文對(duì)比多進(jìn)程介紹了下多線(xiàn)程的優(yōu)勢(shì)和適用場(chǎng)景,提出了一種巧用方案,并使用PHP代碼實(shí)現(xiàn)了多線(xiàn)程的常見(jiàn)用法。2021-05-05解析php session_set_save_handler 函數(shù)的用法(mysql)
本篇文章是對(duì)php中session_set_save_handler 函數(shù)的用法(mysql)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06