1. 程式人生 > >解決模糊查詢速度慢問題(ORACLE)

解決模糊查詢速度慢問題(ORACLE)

     一個困擾我良久的問題,在今天早上8:41分時基本解決。
     資料庫的資料量非常龐大,查詢速度極慢,建立索引後“=”搜尋速度問題解決,但是在搜尋的sql語句中大部分是用like,可是like '%XXX%'是不使用索引的,而like 'XXX%'則經過索引,求教曾經的老師、高階程式設計師也無用,在網站上搜索、求助,最終鎖定兩種辦法:1.全文索引。2.搜尋引擎。 但據說全文索引的速度也不盡人意,對GBK的支援也有些問題,暫且研究搜尋引擎,但發現搜尋引擎不是一時半刻可以研究透徹的東西,只得轉向全文索引,下面是建立全文索引的方法:
     (在某個表上建立文字索引之前,如果該表上沒有主鍵,必須為該表建立一個主鍵)
create index 文字索引名
       on 表名(要建文字索引的表字段)
indextype is ctxsys.context;

在建立文字索引用時比較長,要耐心等待...
建立完成後查詢測試:select * from table where CONTAINS(USERNAME,'可可')>0
     速度果然大幅提升,心想多天來的問題終於得到解決。但沒想到,在搜尋結果較多的時候.Count累加的速度慢了下來,索引也全部建立,解決辦法至今沒有發現,昨晚躺在床上翻來覆去,想到很多像論壇的搜尋中都限制了搜尋的關鍵字個數,這樣可以有效的控制查詢結果的數量,可以限制搜尋時輸入的關鍵字最少不得少於四個漢字。但轉眼一想不可行,因為庫中資料很有可能只有兩個字、三個字的名稱,這樣會造成搜尋結果不可靠...
     今天早上一大早就來到公司,開啟昨天在網上求助的帖子,回答人確實不少,提出了各種各樣的方法,可是我都曾嘗試過,都是行不通的,也許這個特殊專案的要求比較特別。靜下心仔細想想,我在See頁面需要的查詢其實大體可分為兩種,小範圍搜尋和大範圍搜尋,在以前的小範圍搜尋中速度是合格的,但是最近加入大範圍搜尋,則出現以下問題,但是加入全文索引後,大範圍的速度大幅度提高了,而小範圍的count卻出奇的慢。分析完成,很明顯,在小範圍搜尋的時候用普搜(同時可限制不得只輸入一個字),而大範圍的時候用全文索引進行搜尋。立即按照此方案進行修改,終於...我希望的效果基本出現了。(但是大範圍搜尋時,速度較小範圍略慢,但應無大礙) 心情大爽!本一度以為要放棄此問題的.但最終尋得了解決辦法..雖然沒有《越獄》那樣驚險刺激,但解決問題後的心情也的確夠勁。
     接下來還有一個個的小問題,解決它們只是時間問題了...

相關推薦

解決模糊查詢速度問題(ORACLE)

     一個困擾我良久的問題,在今天早上8:41分時基本解決。      資料庫的資料量非常龐大,查詢速度極慢,建立索引後“=”搜尋速度問題解決,但是在搜尋的sql語句中大部分是用like,可是like '%XXX%'是不使用索引的,而like 'XXX%'則經過索引,求教曾經的老師、高階程式設計師也無用,

Oracle模糊查詢之(4.採用全文索引解決模糊查詢,給出具體步驟)採用全文索引解決模糊查詢速度的問題[主文]

採用全文索引解決模糊查詢速度慢的問題 上一篇 /下一篇  2009-09-22 20:58:34 眾所周知,使用 like 進行模糊查詢速度極差,包括 like 'AAA%' ,like '%AAA',like '%AAA%',like '%A%A%'以及採用“_”

分分鐘解決MySQL查詢速度與性能差

5.6 session 特定 操作系統 UNC 排序 方法 系統 inux 閱讀本文大概需要 6 分鐘。 一、什麽影響了數據庫查詢速度 1.1 影響數據庫查詢速度的四個因素 1.2 風險分析 QPS: QueriesPerSecond意思是“每秒查詢率”,是

數據庫查詢速度了?是否是因為死鎖了?一種解決死鎖的方法。

-- 檢索 blog kill _id exe 進行 xxx 通過 --查詢哪些表被死鎖 select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sy

SQL Server資料庫查詢速度的原因和解決方法

SQL Server資料庫查詢速度慢的原因有很多,常見的有以下幾種:   1、沒有索引或者沒有用到索引(這是查詢慢最常見的問題,是程式設計的缺陷)   2、I/O吞吐量小,形成了瓶頸效應。   3、沒有建立計算列導致查詢不優化。   4、記憶體不足   5、網路速度慢   

oracle sql 語句巢狀子查詢 查詢速度

select        ----慢------------------         (select count(*)           from (select pe.personid, pe.pgd_sheetid           --------sele

解決pip下載速度

rust lob 速度慢 oba url vim glob nbsp all 國外的pip源下載速度過慢,可以換成國內的源,這裏換成豆瓣的源。 新建一個文件vim ~/.pip/pip.conf 內容為 [global]timeout = 6000index-url= ht

查詢速度的原因很多,常見如下幾種 :

競爭 用戶 post 查詢 有用 who 活動 問題 返回 1、沒有索引或者沒有用到索引(這是查詢慢最常見的問題,是程序設計的缺陷) 2、I/O吞吐量小,形成了瓶頸效應。 3、沒有創建計算列導致查詢不優化。 4、內存不足 5、網絡速度慢 6、查詢出的數據量過

完美解決github訪問速度

lin linux windows ip add address ast quick block 訪問速度 1. 解決方法 2.解決方法 1. 修改本地hosts文件 windows系統的hosts文件的位置如下:C:\Windows\System32\drivers\e

解決 pip install 速度

修改主使用者目錄下~/.pip/pip.conf檔案( 沒有則建立)  [global]  index-url = http://pypi.douban.com/simple  trusted-host = pypi.douban.com disa

使用映象解決pip下載速度的問題

目錄 國內映象網址: PIP使用國內映象的方法: 設定 pip 安裝源為國內清華大學映象 另記錄一個錯誤(Microsoft Visual C ++ 14.0是必需的。):  pip 升級時的一個錯誤: 國內映象網址: 阿里雲  http://mi

完美解決github訪問速度[轉]

1. 修改本地hosts檔案 windows系統的hosts檔案的位置如下:C:\Windows\System32\drivers\etc\hosts mac/linux系統的hosts檔案的位置如下:/etc/hosts 2. 增加github.global.ssl.f

讓javascript載入速度倍增的方法(解決JS載入速度的問題)

通常我們的網站裡面會載入一些js程式碼,統計啊,google廣告啊,百度同盟啊,阿里媽媽廣告程式碼啊, 一堆,最後弄得頁面載入速度很慢,很慢。 解決辦法:換一個js包含的方式,讓javascript載入速度倍增。 把通常載入方式:  <script src="x

解決頁面載入速度的6個方法

我們在對網站進行seo佈局設計的時候必須考慮到網站的載入速度,一個快速的網站肯定呢掛鉤更好的留住客戶哦。我們之前也談到了很多關於seo優化的一些其他注意事項,但是在載入速度上,我還沒和大家談,下面就來看看吧。網頁的響應時間是影響其可用性的重要因素,如果在短時間內不能載入完

Mybatis+sqlServer查詢速度的問題

問題一: 當表中資料量過大時,使用mybatis查詢速度回很慢,但在命令列中查詢特別快。這個問題始終找不到原因,後來才發現的問題所在。 舉例說:掃描入庫表wmsInScanDtl,查詢條件為(company,boxNo,acti)那我們建立索引時會使用如下語句 creat

sql中的模糊查詢 like 和oracle中的instr()函式有同樣的查詢效果

注:MySQL中的模糊查詢 like 和oracle中的instr()函式有同樣的查詢效果; 如下所示:select * from tableName a where name like '%hello

解決pip install 速度

修改為國內源: 新版ubuntu要求使用https源,要注意。 臨時使用: 永久修改,一勞永逸: Linux下,在home目錄下建立一下.pip文字夾(命令:mkdir .pip),在.pip資料夾下建立pip.conf檔案(命令:to

解決電腦執行速度的方法

1、縮短等待時間  開啟登錄檔編輯器(開始——執行——輸入regedit按確定),找到HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control,將WaitToKillServiceTimeout設為:1000或更小(原設定值:20

python-解決pip安裝速度的問題

對於Python開發使用者來講,PIP安裝軟體包是家常便飯。但國外的源下載速度實在太慢,浪費時間。而且經常出現下載後安裝出錯問題。所以把PIP安裝源替換成國內映象,可以大幅提升下載速度,還可以提高安裝成功率。國內源:新版ubuntu要求使用https源,要注意。清華:http

記錄一次mysql查詢速度造成CPU使用率很高情況

字段 image 慢查詢日誌 截圖 cpu使用率 速度 很慢 code explain 1、某日zabbix告警,某臺機器CPU使用率過高。 查看慢查詢日誌,看到很多sql語句都超過10秒 把sql語句拿出來放在查詢窗口執行。前面加上explain就可以查看詳細查詢信息