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é)院,本科在讀。

主站蜘蛛池模板: 亚洲无码视频一区二区三区| 亚洲美女一级毛片| 一级毛片在线播放| 中文字幕2区| 四虎亚洲精品| 婷婷亚洲视频| 亚洲成人精品久久| 美女裸体18禁网站| 拍国产真实乱人偷精品| 日韩精品毛片人妻AV不卡| 国产第一页免费浮力影院| 伊人婷婷色香五月综合缴缴情| 国产成人一区在线播放| 亚洲国产精品无码久久一线| 国产在线观看91精品亚瑟| 国产第一页免费浮力影院| 久久久久久高潮白浆| 欧美黄网在线| 日韩无码真实干出血视频| 国产日韩欧美成人| 无码区日韩专区免费系列| 欧美日韩北条麻妃一区二区| 国产成人毛片| 97在线国产视频| 国产精品亚洲精品爽爽| 欧美三级视频在线播放| 亚洲天堂久久| 欧美精品黑人粗大| 成人福利一区二区视频在线| 亚洲一区二区成人| 国产永久无码观看在线| 激情综合五月网| 亚洲一区二区三区中文字幕5566| 99国产在线视频| 国产精品片在线观看手机版| 国产无人区一区二区三区| 国产av无码日韩av无码网站| 亚洲欧美成人在线视频| 中国特黄美女一级视频| 日韩麻豆小视频| 国产激情在线视频| 99热国产在线精品99| 91久久偷偷做嫩草影院| 国产成人高清精品免费| 国产精品视频猛进猛出| 人人澡人人爽欧美一区| 久久精品人妻中文视频| 国产综合在线观看视频| 亚洲午夜福利在线| 亚洲欧洲日产国产无码AV| 青青草原国产| 99青青青精品视频在线| 免费又黄又爽又猛大片午夜| 欧美成人免费午夜全| 1769国产精品视频免费观看| 久久精品丝袜| 91视频国产高清| 毛片免费在线视频| 亚洲色无码专线精品观看| 97国产精品视频自在拍| 国产在线小视频| 日日噜噜夜夜狠狠视频| 色妞www精品视频一级下载| 精品无码国产自产野外拍在线| 日本www色视频| 91精品综合| av一区二区三区高清久久| 无遮挡国产高潮视频免费观看| 精品久久高清| 国产精品福利社| 五月丁香在线视频| 亚洲高清资源| 国产成人无码播放| 成年午夜精品久久精品| 免费观看亚洲人成网站| 国内精品视频在线| 91麻豆精品国产高清在线| 国产69精品久久久久孕妇大杂乱 | 国产18在线播放| 色播五月婷婷| 99这里精品| 妇女自拍偷自拍亚洲精品|