Oracle資料庫中的like優化-效能調優
2。對於 like '..%..' (不以 % 開頭),Oracle可以應用 colunm上的index
3。對於 like '%...' 的 (不以 % 結尾),可以利用reverse + function index 的形式,變化成 like '..%'
程式碼:
-- '建測試表和Index,注意,重點在於帶reverse的function index。同時,一定要使用CBO才行……
[email protected]> select reverse('123') from dual;REVERSE('123')
--------------------------------
321
1 row selected.
[email protected]> create table test_like as select object_id,object_name from dba_objects;
Table created.
[email protected]> create index test_like__name on test_like(object_name);
Index created.
Index created.
[email protected]> analyze table test_like compute statistics for table for all indexes;
Table analyzed.
[email protected]> set autotrace trace exp
-- '常量開頭的like , 會利用index ,沒問題…… '
[email protected]> select * from test_like where object_name like 'AS%';
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=655 Bytes=15720)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'TEST_LIKE' (Cost=2 Card=655Bytes=15720)
2 1 INDEX (RANGE SCAN) OF 'TEST_LIKE__NAME' (NON-UNIQUE) (Cost=2 Card=118)
--'開頭和結尾都是 % ,對不起,很難優化'
[email protected]> select * from test_like where object_name like '%%';
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=6 Card=655 Bytes=15720)
1 0 TABLE ACCESS (FULL) OF 'TEST_LIKE' (Cost=6 Card=655 ytes=15720)
-- '以常量結束,直接寫的時候是不能應用index的'
[email protected]> select * from test_like where object_name like '%S';
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=6 Card=655 Bytes=15720)
1 0 TABLE ACCESS (FULL) OF 'TEST_LIKE' (Cost=6 Card=655 Bytes=15720)
--'以常量結束的,加個reverse 函式,又可以用上index了'
[email protected]> select * from test_like where reverse(object_name)like reverse('%AS');
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=655 Bytes=15720)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'TEST_LIKE' (Cost=2 Card=655 Bytes=15720)
2 1 INDEX (RANGE SCAN) OF 'TEST_LIKE__NAME_REVERSE' (NON-UNIQUE) (Cost=2 Card=118)
相關推薦
Oracle資料庫中的like優化-效能調優
1。儘量不要使用 like '%..%' 2。對於 like '..%..' (不以 % 開頭),Oracle可以應用 colunm上的index 3。對於 like '%...' 的 (不以 % 結尾),可以利用reverse + fu
快速掌握Oracle資料庫中的like優化-效能調優
掌握Oracle資料庫中的like優化-效能調優 1.儘量不要使用 like '%..%' 2.對於 like '..%..' (不以 % 開頭),Oracle可以應用 colunm上的index 3.對於 like '%...' 的 (不以 % 結尾),可
網站高併發優化效能調優總結
最近在對PHP網站高併發高效能有所領悟,今天寫一篇關於這方面的文章。今天用我的測試站點:http://zhimo.yuanzhumuban.cc/來講解例項。 支模網整體開發到上線為10個月左右,後端採用php開源框架destoon,站點總資料為800萬,其中每天會更新入庫資料5000-50000資料不等,
oracle 效能調優之資料庫中的常見效能問題
在Oracle資料庫中找到的常見的效能問題 這部分列列表,並且描述在oracle資料庫中存在的通用效能問題。 在隨後的oracle效能方法中,你應該能偶避免這些問題。如果你操作過 這些問題的經驗,那麼重複oracle效能方法中的步驟就可以了。這在利用oracle
ifeve.com 南方《JVM 效能調優實戰之:使用阿里開源工具 TProfiler 在海量業務程式碼中精確定位效能程式碼》
https://blog.csdn.net/defonds/article/details/52598018 多次拉取 JStack,發現很多執行緒處於這個狀態: at jrockit/vm/Allocator.getNewTla(JJ)V(Native Method)
oracle:swap效能調優
目標:解決大量Log寫入佔用大量的File Cache,內容利用不充分導致swap 基本原則:儘量使用記憶體,減少swap,同時,儘早flush到外存,早點釋放記憶體給寫cache使用。---特別在持續的寫入操作中,此優化非常有效。 調優措施: vm.swapiness :60
MySQL效能優化總結___本文乃《MySQL效能調優與架構設計》讀書筆記!
一、MySQL的主要適用場景 1、Web網站系統 2、日誌記錄系統 3、資料倉庫系統 4、嵌入式系統 二、MySQL架構圖: 三、MySQL儲存引擎概述 1)MyISAM儲存引擎 MyISAM儲存引擎的表在資料庫中,每一個表
mysql效能調優(一)——查詢資料庫狀態
所謂效能調優,首先要發現問題,才能知道怎麼進行效能調優噻,所以我們先從發現問題開始 1、show status 查詢資料庫狀態 其中監控伺服器狀態比較重要的幾個引數是: Queries 進行多少次查
mysql效能調優筆記(二)--查詢優化和索引
一、Mysql執行查詢流程 mysql執行查詢的流程 mysql執行查詢內部路程:1.客服端傳送一條查詢給伺服器
Qt連線MySQL程式設計及資料庫效能調優(一)
之前整理過一篇Qt下資料庫程式設計基礎 :最近在進行單元測試,所以把遇到的一些問題整理出來,主要是關於資料庫的 1.遠端連線資料庫 連線語句是: mysql -h 192.168.xx.xx(IP地址) -P 3306(埠) -u remoteuser(登入使用
效能調優之MySQL篇三:MySQL配置定位以及優化
1、優化方式 一般的優化方法有:硬體優化,配置優化,sql優化,表結構優化。下面僅僅介紹配置優化,具體優化設定可以參考本人另外一篇部落格,傳送門:https://www.cnblogs.com/langhuagungun/p/9507206.html 2、mysql配置分析 1)常見瓶頸 90%系統瓶
效能調優之MySQL篇四:MySQL配置定位以及優化
一、CPU最大效能模式 cpu利用特點 5.1 最高可用4個核 5.5 最高可用24核 5.6 最高可用64核心 一次query對應一個邏輯CPU 你仔細檢查的話,有些伺服器上會有的一個有趣的現象:你cat /proc/cpuinfo時,會發現CPU的頻率竟然跟它標
JVM 效能調優實戰之 使用阿里開源工具 TProfiler 在海量業務程式碼中精確定位效能程式碼
本文是《JVM 效能調優實戰之:一次系統性能瓶頸的尋找過程》 的後續篇,該篇介紹瞭如何使用 JDK 自身提供的工具進行 JVM 調優將 TPS 由 2.5 提升到 20 (提升了 7 倍),並準確定位系統瓶頸:我們應用裡靜態物件不是太多、有大量的業務執行緒在頻繁建立一些生命週期
Spark效能調優---fastutil優化資料格式
Spark中應用fastutil的場景: 1、如果運算元函式使用了外部變數;那麼第一,你可以使用Broadcast廣播變數優化;第二,可以使用Kryo序列化類庫,提升序列化效能和效率;第三,如果外部變數是某種比較大的集合,那麼可以考慮使用fastutil改寫外部變數,首先從源頭上就減少記憶體的佔
轉【Zabbix效能調優:配置優化】
轉載:https://sre.ink/zabbix-turn-conf/ #通過日誌可以分析當前服務狀態。LogFile=/tmp/zabbix_server.log #日誌檔案路徑。LogFileSize=1 #日誌檔案最大值(MB),超過則滾動,設為0表示不回滾。DebugLevel=3 #除錯日誌級別
spark效能調優:資源優化
在開發完Spark作業之後,就該為作業配置合適的資源了。Spark的資源引數,基本都可以在spark-submit命令中作為引數設定。很多Spark初學者,通常不知道該設定哪些必要的引數,以及如何設定這些引數,最後就只能胡亂設定,甚至壓根兒不設定。資源引數設定的不合理,可能
Mongodb效能調優 -效能優化建議
摘要 1. MongoDB 適用場景簡介 2. Mongodb 效能監控與分析 3. Mongodb 效能優化建議 關於Mongodb的幾個大事件 1.根據美國資料庫知識大全官網釋出的DB熱度排行,Mongodb的熱度排名從2014年的第5名,在2015年躍升為第4名,僅次於主流DB(Oracle
java多執行緒程式效能調優 優化過程
我, 一多年c++開發,由於專案原因需要對一個性能底下的多執行緒java程式進行調優,百度google了幾把,媽蛋,沒有發現指導如何java執行緒調優的文章啊,都是一些java使用規範,我去,那我大java的開發工程師都是怎麼調優的啊, 那我大C++工程師就帶領大家如何j
Spark商業案例與效能調優實戰100課》第3課:商業案例之通過RDD分析大資料電影點評系各種型別的最喜愛電影TopN及效能優化技巧
Spark商業案例與效能調優實戰100課》第3課:商業案例之通過RDD分析大資料電影點評系各種型別的最喜愛電影TopN及效能優化技 原始碼 package com.dt.spark.core
Oracle效能調優 AWR分析一例
本節包含了Oracle關鍵指標的記憶體命中率及其它資料庫例項操作的效率。其中Buffer Hit Ratio 也稱Cache Hit Ratio,Library Hit ratio也稱Library Cache Hit ratio。同Load Profile一節相同,這一節也沒有所謂“正確”的值,而只能根據應