沒必要一次性查出100W條。每次請求3-5W數(shù)據(jù)update,分頁用遞歸。
10年積累的網(wǎng)站建設(shè)、成都網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站策劃后付款的網(wǎng)站建設(shè)流程,更有賓陽免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
控制好變量內(nèi)存,不要內(nèi)存溢出。
經(jīng)驗證 用
insert into tblname Values ( value1,value2, value3),( value1,value2, value3),( value1,value2, value3),( value1,value2, value3),( value1,value2, value3)....
這樣的語句效率最高 , 但是 語句長度有限制 , 一般控制在每次 2萬記錄 可以在1秒鐘以內(nèi)
1.建立索引,盡可能把索引建立到你你經(jīng)常比較的字段上,如select 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ù)庫的工具
1.避免使用!=或<>、IS NULL或IS NOT NULL、IN ,NOT IN等這樣的操作符。
2.優(yōu)化SQL語句(讓SQL語句更合理一些)。
3.優(yōu)化數(shù)據(jù)庫字段類型。(能用其他的盡量不要用VCHAR)
4.建立儲存過程。