對oracle的資料進行排序,在資料量比較大的情況下,往往效能會非常低,由於排序需要耗費大量儲存空間,一旦涉及磁碟排序,就會有導致效率低下,為了提供其排序效率,經常需要對資料庫的相關引數進行調整,但是也無法達到理想的結果,所以需要從應用端進行考慮,儘量減少排序和排序的結果集。
1、減少排序:在沒有必要的時候,盡量不使用排序,如果一定要使用排序,排序字段最好包含在篩選字段之中,並且建立索引
2、減少排序結果集:盡量通過篩選字段,減少總的排序集。
通過上述方法,可最大限度的改善排序效能。
大資料排序問題
程式描述 1 海量資料,記憶體不足,需要將檔案分割成多個檔案,從磁碟讀入 2 將每個小檔案排好序 3 歸併每個排好序的檔案,合成乙個檔案。include include qsort include include include using namespace std int sort num 10...
大資料排序問題
問題1 從100億個資料中找出前100個資料 分析 由於只要找出前100個資料,可以採用堆來進行處理。堆特別適合的場景是從海量資料中找出前m個最大值或最小值,當m不大的時候效率很高。步驟 1.讀取前100個資料,建立最小堆 最小堆的作用是方便找出目前最大的100個資料中的最小值,把待比較的資料與這個...
大資料的排序問題
楔子 問題 假設乙個檔案中有9億條不重複的9位整數,現在要求對這個檔案進行排序。一般解題思路 1 將資料匯入到記憶體中 2 將資料進行排序 比如插入排序 快速排序 3 將排序好的資料存入檔案 難題 乙個整數為4個位元組即使使用陣列也需要900,000,000 4byte 3.4g記憶體對於32位系統...