db_file_multiblock 設定多塊讀取來提高查詢速度
設定多塊讀取來提高查詢速度
===================================
在全表掃描的時候可以實現多塊讀取從而提速
多塊讀取是由引數db_file_multiblock_read_count來確定的
通過合理修改該引數能達到提高查詢效率的目的
多塊讀取是由引數db_file_multiblock_read_count來確定的
通過合理修改該引數能達到提高查詢效率的目的
檢查資料庫版本
SQL> select * from v$version
2 ;
SQL> select * from v$version
2 ;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
檢視引數值
SQL> show parameter db_file_multiblock
SQL> show parameter db_file_multiblock
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_multiblock_read_count integer 4
------------------------------------ ----------- ------------------------------
db_file_multiblock_read_count integer 4
建立測試表
SQL> create table an (id int) tablespace an;
表已建立。
準備資料
SQL> begin
2 for i in 1..1000000 loop
3 insert into an values(i);
4 end loop;
5 commit;
6 end;
7 /
PL/SQL 過程已成功完成。
查詢
SQL> set timing on
SQL> select count(*) from an;
COUNT(*)
----------
1000000
----------
1000000
已用時間: 00: 00: 01.59
清除buffer_cache和library cache
SQL> alter system flush buffer_cache;
SQL> alter system flush buffer_cache;
系統已更改。
已用時間: 00: 00: 00.89
SQL> alter system flush shared_pool;
SQL> alter system flush shared_pool;
系統已更改。
已用時間: 00: 00: 00.01
修改多塊讀取引數
SQL> alter system set db_file_multiblock_read_count=32;
SQL> alter system set db_file_multiblock_read_count=32;
系統已更改。
已用時間: 00: 00: 00.20
確認引數值
SQL> show parameter db_file_multiblock_read_count
SQL> show parameter db_file_multiblock_read_count
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_multiblock_read_count integer 32
------------------------------------ ----------- ------------------------------
db_file_multiblock_read_count integer 32
重新執行查詢
SQL> select count(*) from an;
SQL> select count(*) from an;
COUNT(*)
----------
1000000
----------
1000000
已用時間: 00: 00: 00.64
查詢時間由原來的1.59秒縮短到了0.64秒
當返回資料佔表資料總量的比例比較高的時候,採用全表掃描,由於可以實現多塊讀取,查詢的速度要比索引掃描要快
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13177610/viewspace-700942/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 提高sql查詢速度SQL
- 提高count查詢速度
- 提高查詢速度使用materizlizedZed
- 提高查詢速度方法總結
- 優化sql提高查詢速度優化SQL
- 獲取查詢塊名字
- 提高跨庫查詢速度,你只需一個Smartbi
- QL Server 百萬級資料提高查詢速度的方法Server
- 提高ORACLE資料庫的查詢統計速度(轉)Oracle資料庫
- 怎麼提高go讀取標準輸入的速度Go
- MySQL加速查詢速度的獨門武器:查詢快取(QueryCache)MySql快取
- Python使用多程式提高網路爬蟲的爬取速度Python爬蟲
- 提高SQL查詢效能SQL
- 優化sql查詢速度優化SQL
- 【索引】Oracle查詢指定索引提高查詢效率索引Oracle
- Win 7下提高雙核、多核CPU的速度的設定方法
- Oracle多塊讀設定問題:db_file_multiblock_read_countOracleBloC
- Dynamics CRM 通過配置來設定查詢欄位的預設檢視
- MySQL索引憑什麼能讓查詢效率提高這麼多?MySql索引
- Swoft 配置的設定和讀取
- 錄取查詢
- 藉助查詢引數來利用 Laravel 快取Laravel快取
- Oracle提高查詢效率的方法Oracle
- c++map 查詢元素和list查詢元素速度對比C++
- 檔案上傳速度查詢方法
- Linux 中 FQDN 查詢及設定Linux
- 設定cookie和查詢cookie的方法Cookie
- 最佳化拼多多關鍵詞搜尋介面:提高查詢響應速度的技巧
- .Net 下通過快取提高TCP傳輸速度快取TCP
- Tengine 如何查詢 server 塊Server
- 如何查詢損壞塊
- 【WITH Clause】使用WITH子句提高查詢統計效率-顛覆思維定勢
- Mysql 獲取表設計查詢語句MySql
- javascript 對cookie的讀取和設定JavaScriptCookie
- 如何利用mysql5.7提供的虛擬列來提高查詢效率MySql
- 設定多工桌面,效率不止提高一點點~
- mysql查詢結果多列拼接查詢MySql
- 使用Bulk Collect提高Oracle查詢效率Oracle