我拿到sql一看是update語句,想都沒多想直接加并行,但是加了并行發(fā)現(xiàn)子查詢根本沒有用到并行,而且整體cost沒有什么變化。我仔細想了想,這種寫法oracle內(nèi)部是通過單條跟新的方式進行,從p_t中那出一條記錄去c_t中匹配,c_t中采用索引掃描,然后再通過rowid訪問表取到name。所以優(yōu)化器計算后,不會對子查詢中的c_t應用并行,因為此時并行會采用全表掃描,效率肯定沒有索引掃描快。語句和執(zhí)行計劃如下:
成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供孝昌企業(yè)網(wǎng)站建設,專注與成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設、H5技術(shù)、小程序制作等業(yè)務。10年已為孝昌眾多企業(yè)、政府機構(gòu)等服務。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。
update /*+parallel(p_t,4)*/ p_t set name=(select /*+parallel(c_t,4)*/ name from c_t where p_t.id=c_t.id) where p_t.name is null;
數(shù)據(jù)分表 分頁獲取 緩存 擴大服務器內(nèi)存及CPU數(shù)量 也就這些了 沒別的辦法了 再就是做集群服務器 或者 CDN節(jié)點分發(fā)
SQLserver2000 數(shù)據(jù)庫大小 1,048,516 TB
每個 SQL Server 實例的數(shù)據(jù)庫個數(shù) 32,767
每個數(shù)據(jù)庫的文件組個數(shù) 256
每個數(shù)據(jù)庫的文件個數(shù) 32,767
文件大小(數(shù)據(jù)) 32 TB
文件大小(日志) 32 TB
理論上你的硬盤有多大,數(shù)據(jù)庫就可以有多大(前提是你的操作系統(tǒng)能識別這些磁盤空間)