1.建立索引,盡可能把索引建立到你你經常比較的字段上,如select a,b,c,d from a where 索引字段=值,這個索引字段最好是數(shù)值型數(shù)據(jù)
成都創(chuàng)新互聯(lián)主要從事網(wǎng)站制作、網(wǎng)站設計、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務三都,十余年網(wǎng)站建設經驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:13518219792
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ù)庫的工具
表結構可能有問題,你用來查詢的字段是鍵么?不是的話在百萬數(shù)據(jù)量時時間長是必然的,還有你的SQL語句,如果有聯(lián)表查之類的,而表之間的關聯(lián)和條件有非鍵項,那慢也是正常的
你的查詢需求中,最常用的where字段是什么,然后在數(shù)據(jù)表中給這個字段建立索引。多表查詢、嵌套查詢的話,就得優(yōu)化sql了,這個得具體情況具體分析了。