Oracle優化學習筆記02 查詢返回行數

2021-08-16 18:00:38 字數 525 閱讀 4901

一、返回要求行數

select * from tab1 where rownum<=2,結果會返回兩條資料,若是

select * from tab1 where rownum=2,結果會一條都沒有,因為rownum是依次對資料做標識的,沒有第一,就沒有第二;

故而sql應為: 

select * from (select tt.*,tt.rownum nm from tab1 tt where rownum<=2) where nm=2;

二、返回隨機行數

select * from (select tt.c1,tt.c2 from tab1 tt order by dbms_random.value() ) where rownum<=3;

資料庫執行順義因為是select rownum  orderby  為了隨機取數,必須先orderby 隨機排序,再rownum取數。

不能錯寫成:select *from tab1 where rownum<=3 order by dbms_random.value;

oracle資料庫優化學習筆記

1.資料庫優化的時期 資料庫的優化從設計,資料庫的安裝已經開始。2.資料庫效能的主要指標是響應時間。影響資料庫增長率的表的種類 c資料表 事務表 增長的主要因素 d臨時 介面表 3.資料庫優化的主要方法 a網路b硬體優化 主要在應用程式調整的初期。c作業系統的優化 unix系統 調整引數 共享記憶體...

mysql優化學習筆記

定位執行效率低的sql語句 通過explain分析效率低的sql 通過show profile分析sql 通過trace分析優化器如何選擇執行計畫 確定問題,採取措施優化 匹配全值,條件所有列都在索引中而且是等值匹配 匹配值的範圍查詢,字段必須在索引中 匹配最左字首,復合索引只會根據最左列進行查詢 ...

效能優化學習筆記

js css鬆散耦合盡量避免直接用js操作樣式,改為控制類名 element.classname edit 解耦應用邏輯和事件處理程式 使用常量優化效能,提公升 維護性 避免全域性查詢 優化迴圈效能乙個基本的for迴圈 for let i 0 i values.length i 乙個減值操作的for...