列表功能在
oracle
中通常由兩個語句完成,乙個查詢第
x-y行的明細,第二個查詢完成總的數量、合計資料的查詢。
效能主要是在第乙個語句,常用的
sql方法是根據
rownum
取第x-y
行的明細資料。
提高效能的方法大致總結如下,不是
sql級別,而是功能應用級別。 (
1)不加排序。
order by
很浪費資源,導致功能速度很慢,一般加
order by
和不加,速度能相差
7/8倍。因此,有些功能考慮不加
order by。
(2)某些情況不加排序。在一些查詢出的總的資料量比較大的情況下,檢視列表的明細資料是沒有業務意義的,如資料超過
100條,看明細意義就不大。因此可以考慮先查詢總的數量,執行第二個語句,然後根據總的資料量判斷是否要加
order by
。如總的資料量大於
100條時就不加
order by
,小於100
條就加order by。
(3)只查部分關聯表。這種情況發生在多表關聯,而其中有的表只在列表明細資料中顯示使用,而不在查詢條件的範圍內。可以的辦法是先不包括該錶進行查詢,查詢出需要的明細資料。然後再根據明細資料的關鍵資訊,查詢該錶的資料,拼接到明細資料中。 (
4)計算函式的使用。有些列表的顯示項是採用函式或某些自定義公式計算出來的,浪費了大量的資源。因此這些函式就不要在所有的資料中使用,而只在需要顯示的明細資料中使用。 (
5)不分頁。這種情況不查詢彙總的資料,也就不能分頁。當然不是指顯示所有的資料,而是只顯示第一頁的資料。原來是兩個查詢語句,這種情況下是乙個語句,減少了查詢任務。
CollectionView列表效能優化
本篇一起來學習如何優化uicollectionview實現的網格布局,這裡只是展示和文字,但是比較大,而且比較多。在優化之前,很明顯的一卡一卡的。在優化之後,fps達到了平穩的58 60,快速滾動時,基本都是60,而且在優化後通過core animations檢測已經沒有離屏渲染 圖層混合等。這是在...
vue 長列表效能優化
因為每次 dom 修改,瀏覽器往往需要重新計算元素布局,再重新渲染。也就是所謂的重排 reflow 和重繪 repaint 尤其是在頁面包含大量元素和複雜布局的情況下,效能會受到影響。乙個常見的場景是大資料量的列表渲染。通常表現為可無限滾動的無序列表或者 當資料很多時,頁面會出現明顯的滾動卡頓 方案...
小程式列表效能優化
我們的功能裡面有個滾動到底部載入的功能,優化前我們的做法是這樣的 1 初始乙個list,儲存列表資料 data startlist 2 監聽滾動事件,滾動到底部獲取新資料,並追加到list尾部,最後重新setdata onreachbottom this data fetchnewdata then...