RMAN delete expired & delete obsolete

      先看官方文檔解釋:            delete exipiredIf you run CROSSCHECK, and if RMAN cannot locate the files, then it updates their records in the RMAN repository to EXPIRED status. You can then use the DELETE EXPIRED command to remove records of expired

JPA和Hibernate抓取策略的差異

Hibernate和JPA的抓取策略是有差異的。這一點在使用JPA註解時會有所體現。有時候我們需要添加一些hibernate專屬的註解才能實現比較好的抓取。下面簡單提幾點。      所謂“抓取策略”,總要涉及兩個問:何時抓取以及如果抓取。這兩點在Hibernate提供的註解上體現的非常明顯。Hibernate提供兩套註解分別用來描述“何時抓取”和“如何抓取”。這樣看起來非常條理和清晰。但是JPA顯然沒有這麼做。它只提供了fetch=FeatchType.LAZY or

資料抓取和資料注入思想

領域驅動設計期望我們構建的領域模型儘可能的“純”,盡量不要包含處理商務邏輯以外的代碼,尤其是資料訪問相關的代碼。但是從際情況來看,總是會有出現這種情形的時候。比如:Forum可能會有這樣一個方法getPostCount用於返回這個Forum的文章總數。資料抓取可以保證我們在重建領域對象時只能重建出這個use case所涉及的最小的對象集合,避免因載入過多用不到的對象而導致的效能問題。

兩種極端情況的案例:N+1次查詢和笛卡爾積

前一篇文章兩種極端:頻繁的查詢和巨大的結果集講到了Hibernate載入資料時可能會出現的兩種極端情況:頻繁的查詢和一次查出巨大的結果集。其中:N+1次查詢是前一種情況的一個典型案例,笛卡爾積則是後一種情況的典型案例。下面分別簡單地再總結一下這兩種極端案例出現的原因以及調優方法。 一.N+1次查詢    如果一個集合是lazy

RMAN Compressed Backupset

     先看一段官方文檔的解釋:There is some CPU overhead associated with compressing backup sets. If the database being backed up is running at or near its maximum load, you may find the overhead from using AS COMPRESSED BACKUPSET unacceptable. In most other

為什麼Hibernate不允許同時抓取兩個和兩個以上的平行bag集合

在hibernate中, 如果試圖同時抓取兩個或兩個以上平行的bag集合,會拋出這個異常:org.hibernate.HibernateException: cannot simultaneously fetch multiple bags。對於這種情況,Hibernate文檔給出的解釋是:The resultset of a product can’t beconverted into bag collections, because Hibernate can’t know which

Hibernate的抓取策略

1.制定合理的抓取策略對系統效能的提升有很大的作用。Hibernate推薦的原則是:通常情況下,我們並不使用映射文檔進行抓取策略的定製。更多的是,保持其預設值,然後在特定的事務中, 使用 HQL 的左串連抓取(left join fetch) 對其進行重載。 hibernate推薦的做法也是最佳實務:把所有對象關聯的抓取都設為lazy!然後在特定事務中重載! 這種考慮是基於:對象圖是錯綜複雜的,有時候哪怕我們只是eager

Hibernate的模組結構

從3.3版本開始,Hibernate開始以Maven為基礎進行項目構建,相應的,它將工程查封成了一些獨立的Module,從而方便使用者構建最小化的jar包依賴。下面是Hibernate3.5.2的pom檔案中描述的所有核心模組:<module>parent</module><module>core</module><module>testing</module><module>testsuite</modu

Cache與Fetch(二)

這兩天一直百思不得其解的問題終於解決了,這個問題如下:通過HQL:“select distinct forumGroup from ForumGroup as forumGroup left join fetch forumGroup.forums”查詢所有ForumGroup,並將它們的Forum一併抓取出來。查詢啟用了查詢快取,ForumGroup和Forum都被映射為可快取的。第一次執行時,自然不會命中,產生了如下SQL:    /* select        distinct

RMAN 效能最佳化全攻略

㈠ 發現問題      RMAN在做備份、恢複時所做的操作說起來很簡單:   就是把資料從“源”讀到緩衝區,然後自讀緩衝區寫到“目的地”、並在這個過程中完成資料區塊的校正工作   這一過程中會發生很多的操作、而如果某一操作慢了我們則稱其為瓶頸   發現問題的關鍵在於挑出這個瓶頸      ① 確定備份源與備份裝置的最大速度         從磁碟讀的速度和磁帶寫的帶度、備份的速度不可能超出這兩個速度、只能盡量的接近、我們心裡要有數      Ⅰ 確定磁碟讀速度:     

如何抓取平行集合

join抓取兩個以上的平行集合會產生笛卡爾積,而如果使用subselect抓取又會失去動態抓取集合其他依賴對象的機會。要怎樣才能動態地抓取平行集合呢?目前我能想到的一種方法就是產生多條select,分別抓取平行集合。我覺得這並不是一個很完美的方案,但是它卻實是可行的。以Forum為例,在某個use case中我們需要載入一個Forum,同時要顯示它的所有Thread以及Moderator.Forum的類代碼為:@Entity@Tablepublic class Forum implements

如何搭建Subversion伺服器

一  準備軟體Subversion的伺服器端:http://subversion.apache.org/packages.html (本文以 CollabNet的Windows版本講解)Subversion的用戶端:http://tortoisesvn.tigris.org/ TortoiseSVN是擴充WindowsShell的一套工具,可以看作Windows資源管理員的外掛程式,安裝之後Windows就可以識別Subversion的工作目錄。二 

HQL&Criteria

Obviously, criteria queries are more difficult to read if they get more complex—a good reason to prefer them for dynamic and programmatic query generation, but to use externalized HQL and JPA QL for predefined queries. A proxy is initialized if you

對於Hibernate二級緩衝和查詢快取的總結

1.Hibernate的二級緩衝是針對類和集合層級配製的。它是一種全域性的靜態配製,這一點與抓取策略不同,抓取策略基本上都會針對不同的請求動態地設定。因此,@Cache只會出現在兩個地方:類上,或類中的集合欄位。注意:對類的單端實體欄位加@Cache是無意義的,該單端實體是否進入二級緩衝取決於該實體類是否聲明為可緩衝!對於集合欄位配製緩衝是有意義的。配製集合為可以緩衝並不會導致集合的所有元素進入二級緩衝,而是緩衝了集合元素的ID。集合元素是否被緩衝依然取決於元素類本身有沒有聲明為可緩衝。這一點已

領域驅動設計:理念,架構和若干重要細節(draft)

緒論:三點:軟體開發的方法論,討論系統分層的必要性,提出構建領域模型的重要性;討論OO技術是構建領域模型的主角;爭論:物件導向還是面向資料?一個企業級應用的系統架構是應該物件導向還是面向資料的爭論由來已久,並且從未停止過.這是一個非常尖銳且很難抉擇的問題.產生這一問題的根源就在於當前企業級應用所依賴的資料庫幾乎無一例外的都是關係型資料庫,關係型資料已經盛行了很多年,它也確實....但是後來隨著物件導向技術的興起,人們意識到物件導向技術在解決複雜業務問題上有著無可比擬的優勢.這又驅使人們試圖通過o

在Hibernate環境下對大型集合的處理

在Hibernate環境下,對大型集合的訪問管理是一個非常值得重視的問題。一次將大型集合載入到記憶體是不能容忍的。因此在操作這種集合時要特別小心。下面給出一些建議。1.使用@org.hibernate.annotations.LazyCollection(org.hibernate.annotations.LazyCollectionOption.EXTRA)註解大型集合,確保在訪問集合的size(),isEmpty(),contains()方法時不會導致整個集合載入記憶體。這個方法的作用有限,

Hibernate的四種抓取策略

subselect fetching是hibernate特有的抓取策略。它在抓取時機上有些介於lazy和eager之間(只是這樣說,它實際上是配合lazy的一種抓取策略)。 一方面,它是在集合第一次被訪問時才進行抓取,這有一些lazy的意味。但同時它的確預先抓取了一些“額外”的資料出來,而這些資料是要在後面使用到的,從而避免了多次select,這又有些eager的意味。

Are Repositories Domain Model Objects?

 I focus on DDD for a long time,and I am working on an open source project with DDD now.Recently,I am thinking about the repository.I reffered to DDD Sample Project,I noticed that: repositories are placed in "domian.model" package. I deliberated

Spring整合dbunit

作為一款非常流行的資料庫單元測試架構,dbunit可以協助我們針對Dao進行單元測試。其工作原理是:執行單元測試前,dbunit會讀取指定的xml檔案中的資料,寫入到資料庫中,測試結束後,還可以清空資料庫。嚴格來說,使用dbunit對DAO進行測試已經有些整合測試的意味了,因為我們必須為DAO準備好資料庫連接,並寫入測試資料。對於Spring而言,有專門支援整合測試的XXX架構可供我們使用。以下是一個Spring整合dbunit對DAO進行測試的例子。

基於資料訪問的集合類型-領域驅動設計的又一種特定對象

  企業級應用的一個顯著特點是需要處理大量的資料,開發人員應該小心地從資料庫中載入對象,確保只載入了供業務處理使用的必須的最小限度的對象集合。但真正做到這一點是很難的。其中一個原因就是:現實世界中,事物很少孤立存在,它們之間往往有著這樣或是那樣的聯絡,體現到物件模型上就是對象間的依賴。由一個對象展開,可能會依賴N個對象,N個對象又可能會依賴N*M個對象。很快,數量巨大的對象就被牽扯進來。由於在對象載入時刻根本無法預知哪些依賴的對象會被訪問到,這就為最小化載入對象帶來了不確定性。我們來看一個簡單的

總頁數: 61357 1 .... 14375 14376 14377 14378 14379 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.