北京快乐8官网|北京快乐8选一秘诀

SQL模糊查詢

本頁內容為:SQL模糊查詢,該文章本站轉載自網絡,如有侵權請告之,我們將會及時將其刪除,其正文內容如下:

前幾天寫一個站內搜索引擎,最開始所有的搜索全用 "where field like "%"& keyword &"%"" 子句以及用&來連接多條件來做的,發現access數據庫對這種模糊搜索速度相當的慢~很簡單的查詢竟然能達到140ms以上的頁面執行時間~~總結SQL查詢提速的方法:

第一,肯定是優化sql語句,同樣的功能可以有許多寫法,要求:盡量先排除最多的數據

第二,可以考慮在數據庫中設置關鍵字字段來專門提高查詢速度

第三,存儲過程可以有效提高速度

第四,視圖,臨時表都是不錯的選擇

第五,程序優化

第六,顯示優化

后來因為人又要求做成全字段搜索,而且還要能在用戶表和內容表里同時進行模糊搜索……差點兒沒愁死我~~,想了一個餿招

1. 用 temp_SESSIONID 來做臨時表名,并建立。如果懶得建立,可以用select into 來做,而后的所有查詢用insert into xxx select xxx from xxx where xxx

2.將每個字段所需要的查詢做一條模糊搜索語句,進行查詢,用 select "標示符","字段內容" into temp_SESSIONID from 表名 where 條件 將結果存入temp_SESSIONID,其中,標示符是用來標記唯一記錄的,字段內容是符合條件查詢的字段的內容,用來顯示一個類似于百度的那種感覺~~ 字串3

本文來自:http://www.87717.com

3.所有查詢執行完畢以后,將臨時表內容分頁返回。ps :可以按照標示符來進行group by 以后 disctinct 來防止返回重復記錄,我懶,沒試可行性~嘿嘿

4.刪除臨時表

原本以為這個方法肯定慢到無可救藥~~誰知結果大大出乎我的意料~~執行了5個字段的模糊搜索,居然只需要50ms左右,最多沒超過80ms……

本篇文章來源于www.87717.com 原文鏈接:http://www.87717.com/sql/sql_10619.html

免責聲明:本文僅代表文章作者的個人觀點,與本站無關。其原創性、真實性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容文字的真實性、完整性和原創性本站不作任何保證或承諾,請讀者僅作參考,并自行核實相關內容。

http://www.kzguv.com.cn/style/images/nopic.gif
我要收藏
贊一個
踩一下
分享到
相關推薦
精選文章
?
分享
評論
首頁
北京快乐8官网 黑龙江时时现场开奖 炸金花辅助器 2019注册不限IP送彩金 排列三500期走势图查询 澳洲幸运8官网 湖北快三计划软件科技有限公司 当老公是赚钱工具 极速快乐十分 新彊时时彩三星开奖号 黄金8五分彩走势图 二十一点高级策略表 水果拉霸游戏爆分技巧 泳坛夺金开奖结果查询 波克捕鱼宝石迷城技巧 聋哑人中彩票 麻将28杠比大小规则