0
問題: 我們用很多條目查詢數據庫。整體應用程序性能還可以。但我認爲,如果我們的瓶頸,查詢一個特殊的桌子,可以做得更好。使用動態查找器進行並行查詢的Grails設計模式
我們正在使用該動態查找,如:
Object.findAllByObjectCollectionAndParentIsNullAndDeletedByUserIsNull(objectCollection, [sort: 'attr1.number', fetch: [objectType: 'eager']])
我認爲這個解決方案:將查詢到2個步驟。
- 第一步只以有序方式加載Ids。
- 第二步(可以在並行線程中完成)通過id加載對象本身並將其插入到結果集中。
我已經在Google上搜索了一些關於這方面的提示,但什麼都沒發現。
- 是否有可能,這是沒有意義的?
- 或者在grails標準/擴展中是否已經有適當的解決方案?
- 如果它是有道理的,並沒有解決方案:有人可以給我一個提示實施它嗎?但是,我們需要按照這種排序的方式進行編碼,在示例中進行了解釋。
我們使用的是grails 2.3.11,hibernate:3.6.10.13,下面有jdk 1.7。
你記錄了你的findAll查詢的SQL,試圖分析它的功能嗎?父母是否有索引並被刪除?否則只有一種方法可以找出這樣的事情:試用它並進行基準測試。當談到表演的時候,那裏的所有案件往往沒有銀彈。 – cfrick
當然可以。我們正在加載的這些對象持有非常小的數據元素,就像Excel工作表單元格一樣。所以當頁面呈現時,我們需要很多。 – Mirko