php查詢數(shù)據(jù)大的 php數(shù)據(jù)庫查詢結(jié)果處理

php+mysql在數(shù)據(jù)庫里數(shù)據(jù)大的話查詢很慢

1.建立索引,盡可能把索引建立到你你經(jīng)常比較的字段上,如select

成都創(chuàng)新互聯(lián)是一家專業(yè)提供奉新企業(yè)網(wǎng)站建設,專注與做網(wǎng)站、成都網(wǎng)站設計、H5場景定制、小程序制作等業(yè)務。10年已為奉新眾多企業(yè)、政府機構(gòu)等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡公司優(yōu)惠進行中。

a,b,c,d

from

a

where

索引字段=值,這個索引字段最好是數(shù)值型數(shù)據(jù)

2.慢有更多情況,

情況1:遠程查詢,其實可能查詢不慢,由于數(shù)據(jù)量大,傳輸過程慢

情況2:WHERE

后面的比較數(shù)據(jù)太多,比如

like

類的語句

情況3:需要哪個字段只取那個字段就行了,比如select

*

from

a與select

b,c,d

from

a速度是有差距的

3.數(shù)據(jù)庫定期維護,壓縮,把不常用的數(shù)據(jù)備份后放入備份庫里,查詢時查備份庫等

問題補充:

.第一條:建立索引,怎么建立,我也聽說過,但不知道怎么使用

答:每種數(shù)據(jù)建立索引的方法有差異,比如SQL

SERVER

2000中可對多個字段進行索引,比如SQL

SERVER2000中有命令

CREATE

INDEX

為給定表或視圖創(chuàng)建索引。

只有表或視圖的所有者才能為表創(chuàng)建索引。表或視圖的所有者可以隨時創(chuàng)建索引,無論表中是否有數(shù)據(jù)??梢酝ㄟ^指定限定的數(shù)據(jù)庫名稱,為另一個數(shù)據(jù)庫中的表或視圖創(chuàng)建索引。

語法

CREATE

[

UNIQUE

]

[

CLUSTERED

|

NONCLUSTERED

]

INDEX

index_name

ON

{

table

|

view

}

(

column

[

ASC

|

DESC

]

[

,...n

]

)

[

WITH

index_option

[

,...n]

]

[

ON

filegroup

]

index_option

::=

{

PAD_INDEX

|

FILLFACTOR

=

fillfactor

|

IGNORE_DUP_KEY

|

DROP_EXISTING

|

STATISTICS_NORECOMPUTE

|

SORT_IN_TEMPDB

}

第三條:數(shù)據(jù)庫定期維護,壓縮:怎么個壓縮法?及時備份數(shù)據(jù)到備份庫查詢備份庫,那查詢時不是還慢嗎?

答:這個有壓縮工具,基本上每種數(shù)據(jù)庫都有自己的壓縮數(shù)據(jù)庫的工具

如何解決PHP查詢大量數(shù)據(jù)內(nèi)存耗盡的問題

這個問題在PHP的官方網(wǎng)站上叫緩沖查詢和非緩沖查詢(Buffered and Unbuffered queries)。PHP的查詢?nèi)笔∧J绞蔷彌_模式。也就是說,查詢數(shù)據(jù)結(jié)果會一次全部提取到內(nèi)存里供PHP程序處理。這樣給了PHP程序額外的功能,比如說,計算行數(shù),將指針指向某一行等。更重要的是程序可以對數(shù)據(jù)集反復進行二次查詢和過濾等操作。但這種緩沖查詢模式的缺陷就是消耗內(nèi)存,也就是用空間換速度。

相對的,另外一種PHP查詢模式是非緩沖查詢,數(shù)據(jù)庫服務器會一條一條的返回數(shù)據(jù),而不是一次全部返回,這樣的結(jié)果就是PHP程序消耗較少的內(nèi)存,但卻增加了數(shù)據(jù)庫服務器的壓力,因為數(shù)據(jù)庫會一直等待PHP來取數(shù)據(jù),一直到數(shù)據(jù)全部取完。

很顯然,緩沖查詢模式適用于小數(shù)據(jù)量查詢,而非緩沖查詢適應于大數(shù)據(jù)量查詢。

thinkPHP 如何查詢出數(shù)據(jù)庫中id最大的一條數(shù)據(jù)?

thinkPHP 查詢數(shù)據(jù)庫中id最大的一條數(shù)據(jù)操作如下:

先給數(shù)據(jù)庫中的這個字段(sort)分組 再降序排列, 取第1條。

通過步驟1 獲取了 sort值為最大的數(shù)據(jù), 然后在 通過 where sort ='步驟1取的值'。

查詢最大ID,select max(id) from table。

查詢最大ID的記錄 select * from table where id = (select max(id) from table)

或者select * from table t where ?not exists (select 1 from table t1 where t1.id t.id)

網(wǎng)站題目:php查詢數(shù)據(jù)大的 php數(shù)據(jù)庫查詢結(jié)果處理
本文地址:http://muchs.cn/article18/doeoodp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、網(wǎng)站排名動態(tài)網(wǎng)站、品牌網(wǎng)站建設、網(wǎng)站設計公司網(wǎng)站內(nèi)鏈

廣告

聲明:本網(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)

營銷型網(wǎng)站建設