
本文章以MySQL數(shù)據(jù)庫為用例說明,列舉出幾個常用的提升查詢速度的方式。
分頁查詢,在網(wǎng)絡(luò)瀏覽中,經(jīng)常會看到分頁的使用,像百度搜索分頁、文檔資料分頁等,這些都是一種常見的提升數(shù)據(jù)查詢速度和用戶體驗的一種方式,數(shù)據(jù)庫有l(wèi)imit關(guān)鍵字,開發(fā)人員可使用此關(guān)鍵字對數(shù)據(jù)進(jìn)行分頁查詢,從而避免一次性查詢大量的數(shù)據(jù)造成的時間等待。同時,常見的分頁機(jī)制在10條~90條每頁等,為方便業(yè)務(wù)開發(fā),我們也可以在數(shù)據(jù)查詢速度的臨界點(diǎn)進(jìn)行分頁,比如每頁10000條等。其他像分表查詢也是一樣的思路。

數(shù)據(jù)庫緩存機(jī)制,軟件開發(fā)業(yè)務(wù)中,查詢機(jī)制基本都是在復(fù)用的,也就是說,每次的數(shù)據(jù)庫查詢的條件是一致的,所以我們可以開啟數(shù)據(jù)庫緩存機(jī)制,來提升查詢速度,大家可修改數(shù)據(jù)庫的配置文件或使用命令行修改數(shù)據(jù)庫的配置,以本文數(shù)據(jù)庫為例,修改配置文件:
windows:
需要注意的是:一般數(shù)據(jù)庫的服務(wù)路徑在:C:\Program Files\MySQL\MySQL Server 5.7,配置路徑在:C:\ProgramData\MySQL\MySQL Server 5.7,配置文件是在配置路徑中,文件為my.ini
query_cache_type = 1
?query_cache_size = 600000
Linux:文件為my.cnf
命令行方式:
set global query_cache_type = 1;
?set global query_cache_size = 600000;
修改完畢后必須要重啟數(shù)據(jù)庫服務(wù)才會生效,命令行或數(shù)據(jù)庫查詢工具(SQL語句執(zhí)行工具),執(zhí)行:show variables like "%query_cache%"; ?來查看緩存是否開啟成功。
懶查詢機(jī)制,所謂的懶查詢,就是在業(yè)務(wù)中,用戶需要查看大量的數(shù)據(jù),先為他提供一部分?jǐn)?shù)據(jù),后續(xù)再慢慢將剩余數(shù)據(jù)傳遞給客戶端
使用Redis緩存,在Java環(huán)境中,無論是Mybatis查詢數(shù)據(jù)庫還是使用代碼連接查詢數(shù)據(jù)庫,都會含有一個數(shù)據(jù)庫鏈接和查詢的時間在其中,提升查詢速度,我們可以采用進(jìn)量避免這些時間的思路,使用Redis緩存,將數(shù)據(jù)庫的查詢結(jié)果放進(jìn)Redis中,第二次請求時直接將Redis中的數(shù)據(jù)傳遞給客戶端,這樣即避免了重復(fù)的鏈接和查詢。當(dāng)業(yè)務(wù)數(shù)據(jù)發(fā)生改變時,只需要在接口方法中,更新Redis中的數(shù)據(jù)即可,這樣提升了查詢速度,又不影響用戶的體驗,也是一個非常可行的方式。
使用ES,全名為ElasticSearch,也叫搜索引擎,在小編看來,他是屬于緩存意義上的數(shù)據(jù)庫形式,在實踐業(yè)務(wù)中,可以將需要的數(shù)據(jù)放進(jìn)ES中,后續(xù)對ES檢索,通過小編測試,ES搜索引擎的確比普通的數(shù)據(jù)庫查詢要高效。文章來源:http://www.zghlxwxcb.cn/news/detail-522940.html

以上幾個方案為小編認(rèn)為常用的幾種思路方式,供大家參考,如有其他更好更高效的方式,歡迎留言,與小編進(jìn)行討論。文章來源地址http://www.zghlxwxcb.cn/news/detail-522940.html
到了這里,關(guān)于Java提升數(shù)據(jù)庫大數(shù)據(jù)查詢速度的幾種方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!