如果愿意自己寫sql的話,可以嘗試一下sql中用in,不過效率未見好到哪里去。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供蘭陵網(wǎng)站建設(shè)、蘭陵做網(wǎng)站、蘭陵網(wǎng)站設(shè)計、蘭陵網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、蘭陵企業(yè)網(wǎng)站模板建站服務(wù),10年蘭陵做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
這里強烈建議讀寫分離。用不通的數(shù)據(jù)庫實例去分別處理讀寫。再看看磁盤 IO 性能。看看隊列數(shù)據(jù)。不行就上陣列。或者單表部署單個磁盤。或者讀寫在不同的磁盤進行。當然用緩存也可以。
造成你讀取數(shù)據(jù)太慢的原因一般是出現(xiàn)在服務(wù)器上,或者說你的電腦配置低運行這些代碼需要多花一點時間;也有可能是你的數(shù)據(jù)庫數(shù)據(jù)太多了,一次性讀取出來會很卡,這個時候你就需要分頁顯示這些數(shù)據(jù)了。
優(yōu)化數(shù)據(jù)庫字段類型。(能用其他的盡量不要用VCHAR)建立儲存過程。
1盡量使用數(shù)字型字段,若只含數(shù)值信息的字段盡量不要設(shè)計為字符型,這會降低查詢和連接的性能,并會增加存儲開銷。這是因為引擎在處理查詢和連接時會 逐個比較字符串中每一個字符,而對于數(shù)字型而言只需要比較一次就夠了。
硬件,是不是抗不住,軟件,mysql是不是沒有設(shè)置好,數(shù)據(jù)庫設(shè)計方面等,語言,SQL語句寫法。下面是一些優(yōu)化技巧。對查詢進行優(yōu)化,應(yīng)盡量避免全表掃描,首先應(yīng)考慮在 where 及 order by 涉及的列上建立索引。
我遇到的問題就是,mysql的全文索引特別慢,無論是查詢還是刪除,刪除127條用207秒。數(shù)據(jù)量是10W,每條記錄的字段不是很大。整個數(shù)據(jù)庫一共230M。
你用的是mysql什么版本,看的是很久前的資料。 你遇到的問題,我之前遇到過,以前也認為myisam讀更快 在大數(shù)據(jù)量情況下innodb更快,但是必須加內(nèi)存。 你可以復(fù)制個表,改過來試試。
MYSQL認為必須檢查的用來返回請求數(shù)據(jù)的行數(shù)Extra關(guān)于MYSQL如何解析查詢的額外信息。
1、你的查詢需求中,最常用的where字段是什么,然后在數(shù)據(jù)表中給這個字段建立索引。多表查詢、嵌套查詢的話,就得優(yōu)化sql了,這個得具體情況具體分析了。
2、PHP的查詢?nèi)笔∧J绞蔷彌_模式。也就是說,查詢數(shù)據(jù)結(jié)果會一次全部提取到內(nèi)存里供PHP程序處理。這樣給了PHP程序額外的功能,比如說,計算行數(shù),將指針指向某一行等。更重要的是程序可以對數(shù)據(jù)集反復(fù)進行二次查詢和過濾等操作。
3、避免使用!=或<>、IS NULL或IS NOT NULL、IN ,NOT IN等這樣的操作符。優(yōu)化SQL語句(讓SQL語句更合理一些)。優(yōu)化數(shù)據(jù)庫字段類型。(能用其他的盡量不要用VCHAR)建立儲存過程。
4、沒必要一次性查出100W條。每次請求3-5W數(shù)據(jù)update,分頁用遞歸??刂坪米兞績?nèi)存,不要內(nèi)存溢出。
文章標題:php查詢數(shù)據(jù)有時慢 php查詢一條記錄
分享鏈接:http://jinyejixie.com/article14/dcjghge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、定制網(wǎng)站、營銷型網(wǎng)站建設(shè)、電子商務(wù)、小程序開發(fā)、商城網(wǎng)站
聲明:本網(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)