列表效能優化

2021-08-09 09:55:04 字數 874 閱讀 6753

列表功能在

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...