參看當前排序的方式安排,如果sorts(disk)/sorts(memory)>5%,你就迫切需要進行排序優化了。
select * from v$sysstat where name like
'%sort%';
查詢結果
「` 所以我們並不需要調整sort_area_size。因此只能通過重新索引,碎片整理來進行優化。
開始優化:
首先在表裡建立date_report的索引,發現速度沒有多大的提公升
查了一通資料,通過sqlplus查詢得知oracle預設了引數(排序)sort_area_size是64k,是不是太小了,加大到10240000,重啟資料庫
再試,沒反應還是18秒,**出現問題了?
show parameter sort_area_size檢視,對的,分明是10m的大小;
繼續查資料發現oracle裡預設將引數workarea_size_policy=auto,此時sort_area_size是不起作用的,於是繼續設定引數:
alter system set workarea_size_policy=manual scope=spfile;
再次重啟db,重新整理sql,好了速度飛快2s內開啟sql。
提高查詢資料速度
在實際專案中,通過設計表架構時,設計系統結構時,查詢資料時綜合提高查詢資料效率 1.適當冗餘 資料庫在設計時遵守三正規化,同時業務資料 對資料的操作,比如資料審核,對某人評分等 和基礎資料 比如資料詳情,使用者描述等 要分開儲存,放在不同表中。在設計資料庫時,三正規化能夠最大限度的節省 資料庫儲存所...
提高查詢速度方法總結
這個帖子主要總結提高查詢速度的方法,涉及到減少連線資料庫次數 建立索引 優化語句等方面。關於索引,推薦 的這篇文章 改善sql語句的效率 資料量很大怎樣加快索檢速度 索引建立方法的區別 頻繁插入刪除資料需要更新索引 測試了一下sql server 2005 全文檢索 其他關於效率的高頻問題 判斷乙個...
使用dataset提高查詢速度
把資料庫表放在記憶體中,使用dataset來管理。使用datatable的選擇函式dsdataset1.tables 0 select id 1000 來選取資料。1 首先把錶裝入到記憶體的dataset中 con new system.data.oracleclient.oracleconnect...