1.建立索引,盡可能把索引建立到你你經(jīng)常比較的字段上,如select
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),甘德企業(yè)網(wǎng)站建設(shè),甘德品牌網(wǎng)站建設(shè),網(wǎng)站定制,甘德網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,甘德網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
a,b,c,d
from
a
where
索引字段=值,這個索引字段最好是數(shù)值型數(shù)據(jù)
2.慢有更多情況,
情況1:遠(yuǎn)程查詢,其實(shí)可能查詢不慢,由于數(shù)據(jù)量大,傳輸過程慢
情況2:WHERE
后面的比較數(shù)據(jù)太多,比如
like
類的語句
情況3:需要哪個字段只取那個字段就行了,比如select
*
from
a與select
b,c,d
from
a速度是有差距的
3.數(shù)據(jù)庫定期維護(hù),壓縮,把不常用的數(shù)據(jù)備份后放入備份庫里,查詢時查備份庫等
問題補(bǔ)充:
.第一條:建立索引,怎么建立,我也聽說過,但不知道怎么使用
答:每種數(shù)據(jù)建立索引的方法有差異,比如SQL
SERVER
2000中可對多個字段進(jìn)行索引,比如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ù)庫定期維護(hù),壓縮:怎么個壓縮法?及時備份數(shù)據(jù)到備份庫查詢備份庫,那查詢時不是還慢嗎?
答:這個有壓縮工具,基本上每種數(shù)據(jù)庫都有自己的壓縮數(shù)據(jù)庫的工具
排查 PHP 網(wǎng)站運(yùn)行速度慢的原因
首先,使用瀏覽器的開發(fā)人員工具(Chrome)或Firefox的Firebug,確定,問題出在前端,還是后端。查看瀑布圖,看看是卡在了服務(wù)器處理腳本上(典型特征是文檔Waiting的時間特別長),還是前端(大量的圖片、大量的JS、好多Flash)。90%網(wǎng)站性能問題是由前端造成的。
若確定是服務(wù)器端問題,看看PHP版本是不是過低了、使用XDebug的Profile結(jié)合Webgrind等,看看到底哪些函數(shù)執(zhí)行的次數(shù)最多、單次時間最長、執(zhí)行總時間最長,找到根源一擊必殺!PHP的編譯器不對PHP代碼進(jìn)行任何優(yōu)化,所以某種意義上蠻考研PHPer的功力。
連接語句怎么寫的,是不是用的域名,建議用IP,例如:
mysql_connect('127.0.0.1', 'root', '123456');
如果每個函數(shù)都關(guān)閉連接,當(dāng)調(diào)用多個函數(shù)時會多次建立連接,而建立連接也是耗時的,建議使用數(shù)據(jù)庫連接池。
數(shù)據(jù)庫連接的建立及關(guān)閉是一種極耗系統(tǒng)資源的操作,尤其是在多層結(jié)構(gòu)的應(yīng)用環(huán)境中,這種資源的耗費(fèi)對系統(tǒng)性能影響尤為明顯。在工作時做系統(tǒng)優(yōu)化對這方面的很有體會,相同功能的查詢語句,由于打開關(guān)閉數(shù)據(jù)庫連接的次數(shù)不同導(dǎo)致兩個查詢語句耗費(fèi)的時間差別很大。一個數(shù)據(jù)庫連接對象均對應(yīng)一個物理數(shù)據(jù)庫連接,每次操作都打開一個物理連接,使用完后立即關(guān)閉連接。頻繁地打開、關(guān)閉連接將會造成系統(tǒng)性能低下。雖然寫高性能的sql語句能夠減少訪問數(shù)據(jù)庫的次數(shù),但是也不能完全規(guī)避平凡操作數(shù)據(jù)庫的的行為,因?yàn)橛袝r候我們訪問量大,就會伴有多線程和高并發(fā),這時候我們就該考慮還有什么辦法能提高系統(tǒng)的性能了。辦法總比問題多,數(shù)據(jù)庫連接池的使用幫我們大大的降低了平凡的開關(guān)數(shù)據(jù)庫。