999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于內(nèi)存表的人員信息系統(tǒng)綜合查詢優(yōu)化

2019-06-20 01:34:27彭起
科技視界 2019年12期

【摘 要】本文主要面向人員檢索系統(tǒng)中數(shù)據(jù)查詢的優(yōu)化問題。該優(yōu)化算法將人員檢索數(shù)據(jù)庫綜合查詢速度從分鐘級(jí)優(yōu)化至秒級(jí)。同時(shí)解決查詢結(jié)果集組合、去重等一系列問題。為提高用戶使用體驗(yàn)極大提高。

【關(guān)鍵詞】?jī)?nèi)存表;人員信息系統(tǒng);綜合查詢優(yōu)化

中圖分類號(hào): TP311.52 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 2095-2457(2019)12-0236-002

DOI:10.19694/j.cnki.issn2095-2457.2019.12.114

1 問題引出

在實(shí)際的人員檢索系統(tǒng)中,對(duì)于全庫檢索時(shí)間效率的問題,一直是困擾開發(fā)者的難題。在我實(shí)際做項(xiàng)目過程中,我在做人員信息系統(tǒng)全庫檢索時(shí),發(fā)現(xiàn)由于數(shù)據(jù)分散組織的原因,導(dǎo)致查詢速度異常緩慢。查詢速度緩慢給用戶帶來的體驗(yàn)是極其糟糕的。劉芬[1]、楊瑩鵑[2]等做了關(guān)于優(yōu)化查詢規(guī)則、查詢邏輯等方面工作。本文將在借鑒其成果基礎(chǔ)上,通過優(yōu)化數(shù)據(jù)庫中數(shù)據(jù)組織、存儲(chǔ)方式來優(yōu)化查詢。在仔細(xì)分析系統(tǒng)架構(gòu)之后,對(duì)系統(tǒng)架構(gòu)做大調(diào)整,同時(shí)提出基于內(nèi)存表的綜合查詢算法。以此來大幅度提高綜合查詢速度。本文所有涉及到數(shù)據(jù)表均是基于MySQL數(shù)據(jù)庫。所有涉及到的算法均采用PHP語言進(jìn)行設(shè)計(jì)。

2 相關(guān)概念解釋辨析及其應(yīng)用條件

2.1 內(nèi)存表與臨時(shí)表

內(nèi)存表是指存放在內(nèi)存中的表,所使用的內(nèi)存大小可以通過相關(guān)的配置文件進(jìn)行配置。與內(nèi)存表相關(guān)的,需要區(qū)分一個(gè)概念,臨時(shí)表。臨時(shí)表也是存放在內(nèi)存中,臨時(shí)表的內(nèi)存也通過相關(guān)配置文件進(jìn)行配置。當(dāng)數(shù)據(jù)超出臨時(shí)表最大值限制時(shí),數(shù)據(jù)將自動(dòng)轉(zhuǎn)為磁盤表,而內(nèi)存表相應(yīng)的會(huì)提示數(shù)據(jù)溢出錯(cuò)誤。

2.2 內(nèi)存表使用說明

MySQL內(nèi)存表的容量受兩個(gè)參數(shù)限制,分別是:“max_heap_table_size”和“max_rows”。也可以將“max_rows”類似參數(shù)的設(shè)定放在數(shù)據(jù)庫的存儲(chǔ)引擎之后。同時(shí)在使用之前,仍需修改“my.ini”文件中的相關(guān)配置項(xiàng)。具體是“max_heap_table_size”和“max_rows”。經(jīng)過修改之后,創(chuàng)建數(shù)據(jù)庫表時(shí)將存儲(chǔ)引擎改為“MEMORY”即可。

3 算法設(shè)計(jì)過程

3.1 創(chuàng)建內(nèi)存索引表

綜合查詢時(shí),由于需要多次訪問全庫索引表,導(dǎo)致頻繁“IO”請(qǐng)求,從而大大降低檢索速度。同時(shí),數(shù)據(jù)管理系統(tǒng)的數(shù)據(jù)類型眾多,數(shù)據(jù)分散組織,碎片化較為嚴(yán)重,特將數(shù)據(jù)按照數(shù)據(jù)類型進(jìn)行分類存儲(chǔ)。一個(gè)數(shù)據(jù)類型一張表,每一張表的關(guān)鍵字信息存入內(nèi)存索引表。為提高檢索獨(dú)特,為內(nèi)存表建立索引。同時(shí)將表名相關(guān)信息存入索引表中,方便后期查詢時(shí)對(duì)表進(jìn)行定位。

3.2 傳入?yún)?shù)分析

本系統(tǒng)數(shù)據(jù)根據(jù)不同類型分散組織數(shù)據(jù)表,設(shè)計(jì)有近一百多種數(shù)據(jù)類型,每種數(shù)據(jù)類型中會(huì)涉及到人名、身份證號(hào)等信息。根據(jù)本信息系統(tǒng)數(shù)據(jù)表的組織方式,進(jìn)行綜合查詢時(shí),需傳入以下參數(shù):一級(jí)分類ID;二級(jí)分類ID;年份;關(guān)鍵字一;關(guān)鍵字二;關(guān)鍵字三等等。

3.3 算法過程詳述

根據(jù)調(diào)用程序傳入的參數(shù)(見3.2),將一級(jí)分類ID、二級(jí)分類ID、年份三個(gè)數(shù)據(jù)集合做笛卡爾積,確定所有可能的“數(shù)據(jù)類型-年份”組合。遍歷做好的笛卡爾積,對(duì)于每一個(gè)記錄,通過一級(jí)分類ID、二級(jí)分類ID、年份組合查詢條件到索引表中查詢是否對(duì)應(yīng)有數(shù)據(jù)庫表。當(dāng)數(shù)據(jù)表不存在時(shí),隨機(jī)跳出本次循環(huán),開始下一次循環(huán)。如果數(shù)據(jù)表存在,則可以拿到數(shù)據(jù)表的表名。得到數(shù)據(jù)表之后,再次根據(jù)關(guān)鍵字一、關(guān)鍵字二其中的一個(gè)或兩個(gè)或其組合作為查詢條件模糊查詢對(duì)應(yīng)數(shù)據(jù)庫表。通過上述步驟即可確定查詢結(jié)果集。同時(shí),每一張表查詢出的結(jié)果集合并,并將數(shù)據(jù)類別作為返回結(jié)果集的一個(gè)元素。詳細(xì)的算法見算法框圖一。

算法框圖一

3.4 查詢結(jié)果集去重

去重操作相對(duì)簡(jiǎn)單。PHP自身帶有“unique”函數(shù),可作為去重的直接系統(tǒng)方法。但是由于返回結(jié)果集的結(jié)構(gòu)相對(duì)復(fù)雜,所以單單使用“unique”函數(shù)是遠(yuǎn)遠(yuǎn)不能滿足去重需要的。對(duì)于一個(gè)結(jié)果集,如果進(jìn)行多重“for”循環(huán),對(duì)每一種數(shù)據(jù)類型編寫去重算法,則工作量過大,而且容易出錯(cuò)。如果進(jìn)行的“for”循環(huán)層數(shù)太少,則無法完成去重操作。經(jīng)過反復(fù)實(shí)驗(yàn),最終確定為,采用二重“for”循環(huán),并結(jié)合“unique”函數(shù)進(jìn)行去重。經(jīng)過反復(fù)實(shí)驗(yàn),與優(yōu)化之前相比,查詢時(shí)間效率大大提高。目前,綜合查詢的相應(yīng)時(shí)間在兩秒中之內(nèi)。

3.5 查詢結(jié)果集返回

在以上所有步驟進(jìn)行完之后,即可對(duì)數(shù)據(jù)進(jìn)行返回。在PHP中,數(shù)據(jù)集通常以“JSON”方式進(jìn)行返回。用語句“echo json_encode($list,JSON_UNESCAPED_UNICODE)”返回?cái)?shù)據(jù)集。至此,算法設(shè)計(jì)過程結(jié)束。

4 結(jié)束語

本文通過做數(shù)據(jù)庫索引表放入內(nèi)存存儲(chǔ)、數(shù)據(jù)分類型存儲(chǔ)、參數(shù)優(yōu)化、查詢過程優(yōu)化、查詢結(jié)果組合和去重等方式,大幅度提高綜合查詢的效率。經(jīng)過反復(fù)測(cè)試,查詢時(shí)間由原先的分鐘級(jí)別降低至現(xiàn)在的兩秒之內(nèi)。可以看出,將多種類型的數(shù)據(jù)分類型存儲(chǔ),并建立系統(tǒng)內(nèi)存索引表。同時(shí)優(yōu)化傳入?yún)?shù)等方式,其查詢效率將大大提高。在后面做人員信息檢索系統(tǒng)時(shí),也可將本文中提到的算法做好的借鑒。在此算法基礎(chǔ)上,經(jīng)過更高層次的優(yōu)化,其查詢效率也將會(huì)大幅度提高。

【參考文獻(xiàn)】

[1]劉芬.數(shù)據(jù)庫管理系統(tǒng)中查詢優(yōu)化的設(shè)計(jì)和實(shí)現(xiàn)[J].信息安全與技術(shù),2014,5(2):82-84.

[2]楊瑩鵑.數(shù)據(jù)庫管理系統(tǒng)中查詢優(yōu)化的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),1009-3044(2018)25-0014-03.

作者簡(jiǎn)介:彭起(1998.01—),河南開封人,河南大學(xué)計(jì)算機(jī)與信息工程學(xué)院,本科在讀。

主站蜘蛛池模板: 国产96在线 | 99re在线视频观看| 国产精品吹潮在线观看中文| 98精品全国免费观看视频| 在线精品欧美日韩| aⅴ免费在线观看| www.亚洲天堂| 99久久国产综合精品2023| 婷五月综合| 日本影院一区| 国产一级毛片yw| 国产又黄又硬又粗| 日韩天堂在线观看| 亚洲视频影院| 国产无码制服丝袜| 国产微拍一区| 久热99这里只有精品视频6| 日本欧美视频在线观看| 亚洲一级毛片在线观| 女人18毛片水真多国产| 在线毛片网站| 97狠狠操| 人与鲁专区| 久久综合国产乱子免费| 免费三A级毛片视频| 国产精品极品美女自在线网站| 亚洲欧洲日产国码无码av喷潮| 国产91在线|中文| 97色婷婷成人综合在线观看| 色窝窝免费一区二区三区 | 日韩在线成年视频人网站观看| 国产在线观看99| 91探花在线观看国产最新| 亚洲成人免费看| 日韩资源站| 亚洲人在线| 久久人与动人物A级毛片| 国产精品毛片在线直播完整版| 久久人与动人物A级毛片| 午夜激情福利视频| 国产精品护士| 国产91丝袜在线播放动漫| 女人一级毛片| 黑人巨大精品欧美一区二区区| 精品超清无码视频在线观看| 久久久久久久久久国产精品| 男女男免费视频网站国产| 999精品色在线观看| 国产美女自慰在线观看| 精品久久高清| 人妻精品久久无码区| 日韩欧美色综合| 成人午夜视频在线| 国产偷倩视频| 成人午夜网址| 中文字幕日韩丝袜一区| 亚洲女同欧美在线| 国产噜噜噜| 污污网站在线观看| 国产成人欧美| 亚洲欧美另类中文字幕| 国产成人福利在线| www欧美在线观看| 亚洲第一视频免费在线| 亚洲精品老司机| 老司机午夜精品视频你懂的| 最新国产高清在线| 亚洲成人在线网| 综合色亚洲| 毛片在线看网站| 亚洲成a人片在线观看88| 国产精品嫩草影院视频| 国产精品女在线观看| 九九热精品在线视频| 国产成人乱无码视频| 日韩av在线直播| 中日无码在线观看| 亚洲国产亚综合在线区| 久久国产乱子伦视频无卡顿| 久草热视频在线| 国产无遮挡猛进猛出免费软件| 四虎综合网|