欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種數(shù)據(jù)查詢方法和裝置與流程

文檔序號:12915912閱讀:169來源:國知局
本發(fā)明涉及數(shù)據(jù)庫
技術(shù)領(lǐng)域
:,具體涉及一種數(shù)據(jù)查詢方法和裝置。
背景技術(shù)
::目前,在數(shù)據(jù)庫中查詢數(shù)據(jù)時主要通過編寫sql語言直接進(jìn)行查詢,sql(structuredquerylanguage,結(jié)構(gòu)化查詢語言)是專為數(shù)據(jù)庫而建立的操作命令集,是一種功能齊全的數(shù)據(jù)庫語言。sql功能強(qiáng)大,使用方便,已經(jīng)成為了數(shù)據(jù)庫操作的基礎(chǔ),并且現(xiàn)在幾乎所有的數(shù)據(jù)庫均支持sql。但是,現(xiàn)有技術(shù)這種通過sql語句查詢數(shù)據(jù)庫的方式通常會導(dǎo)致查詢效率低,查詢性能差的問題。例如,使用sql的關(guān)鍵字or/in進(jìn)行查詢時,如果in中的枚舉值過多會出現(xiàn)sql語句報(bào)錯,或者當(dāng)查詢的枚舉值大于預(yù)定值時也會出現(xiàn)數(shù)據(jù)壓力,無法有效完成數(shù)據(jù)查詢。由此可見,現(xiàn)有的數(shù)據(jù)庫查詢亟待完善。技術(shù)實(shí)現(xiàn)要素:本發(fā)明提供了一種數(shù)據(jù)查詢方法和裝置,用以解決現(xiàn)有的數(shù)據(jù)查詢方式存在的查詢效率低、性能差的問題。根據(jù)本發(fā)明的一個方面,提供了一種數(shù)據(jù)查詢方法,該方法應(yīng)用于同一事務(wù)執(zhí)行中,包括:接收數(shù)據(jù)查詢請求;從數(shù)據(jù)庫相應(yīng)的普通表中獲取查詢請求中待查詢數(shù)據(jù)的關(guān)鍵數(shù)據(jù),關(guān)鍵數(shù)據(jù)至少包括能夠唯一標(biāo)識待查詢數(shù)據(jù)的數(shù)據(jù);在數(shù)據(jù)庫的臨時表空間中新建事務(wù)臨時表,并將待查詢數(shù)據(jù)的關(guān)鍵數(shù)據(jù)插入到事務(wù)臨時表中;建立事務(wù)臨時表和普通表的表連接,利用表連接實(shí)現(xiàn)待查詢數(shù)據(jù)的查詢??蛇x地,在數(shù)據(jù)庫的臨時表空間中新建事務(wù)臨時表包括:獲取數(shù)據(jù)庫的類型,并根據(jù)數(shù)據(jù)庫的類型創(chuàng)建相應(yīng)的事務(wù)臨時表??蛇x地,將待查詢數(shù)據(jù)的關(guān)鍵數(shù)據(jù)插入到事務(wù)臨時表中包括:將關(guān)鍵數(shù)據(jù)中待查詢數(shù)據(jù)的唯一標(biāo)識插入到事務(wù)臨時表的主鍵對應(yīng)的位置。可選地,該方法進(jìn)一步包括:根據(jù)關(guān)鍵數(shù)據(jù)中待查詢數(shù)據(jù)的唯一標(biāo)識在相應(yīng)的普通表中的存儲位置,在事務(wù)臨時表的主鍵上創(chuàng)建索引,以將待查詢數(shù)據(jù)在相應(yīng)的普通表中的存儲位置信息記錄在所述主鍵對應(yīng)的字段上??蛇x地,建立事務(wù)臨時表和普通表的表連接包括:建立事務(wù)臨時表和普通表之間的等值連接、左連接或右連接。根據(jù)本發(fā)明的另一個方面,提供了一種數(shù)據(jù)查詢裝置,該裝置包括:事務(wù)執(zhí)行單元,用于接收數(shù)據(jù)查詢請求;數(shù)據(jù)獲取單元,用于從數(shù)據(jù)庫相應(yīng)的普通表中獲取查詢請求中待查詢數(shù)據(jù)的關(guān)鍵數(shù)據(jù),關(guān)鍵數(shù)據(jù)至少包括能夠唯一標(biāo)識待查詢數(shù)據(jù)的數(shù)據(jù);數(shù)據(jù)插入單元,用于在數(shù)據(jù)庫的臨時表空間中新建事務(wù)臨時表,并將待查詢數(shù)據(jù)的關(guān)鍵數(shù)據(jù)插入到事務(wù)臨時表中;查詢實(shí)現(xiàn)單元,用于建立事務(wù)臨時表和普通表的表連接,利用表連接實(shí)現(xiàn)待查詢數(shù)據(jù)的查詢。可選地,數(shù)據(jù)插入單元,具體用于獲取數(shù)據(jù)庫的類型,并根據(jù)數(shù)據(jù)庫的類型創(chuàng)建相應(yīng)的事務(wù)臨時表??蛇x地,數(shù)據(jù)插入單元,具體用于將關(guān)鍵數(shù)據(jù)中待查詢數(shù)據(jù)的唯一標(biāo)識插入到事務(wù)臨時表的主鍵對應(yīng)的位置。可選地,該裝置進(jìn)一步包括:索引創(chuàng)建單元,具體用于根據(jù)關(guān)鍵數(shù)據(jù)中待查詢數(shù)據(jù)的唯一標(biāo)識在相應(yīng)的普通表中的存儲位置,在事務(wù)臨時表的主鍵上創(chuàng)建索引,以將待查詢數(shù)據(jù)在相應(yīng)的普通表中的存儲位置信息記錄在所述主鍵對應(yīng)的字段上??蛇x地,查詢實(shí)現(xiàn)單元,具體用于建立事務(wù)臨時表和普通表之間的等值連接、左連接或右連接。本發(fā)明的有益效果是:本發(fā)明的技術(shù)方案通過從數(shù)據(jù)庫相應(yīng)的普通表中獲取查詢請求中待查詢數(shù)據(jù)的關(guān)鍵數(shù)據(jù),關(guān)鍵數(shù)據(jù)至少包括能夠唯一標(biāo)識待查詢數(shù)據(jù)的數(shù)據(jù);并將待查詢數(shù)據(jù)的關(guān)鍵數(shù)據(jù)插入到內(nèi)存中新建的事務(wù)臨時表中;建立事務(wù)臨時表和普通表的表連接,利用表連接實(shí)現(xiàn)待查詢數(shù)據(jù)的查詢。由于本申請的技術(shù)方案是利用內(nèi)存中的事務(wù)臨時表與普通表之間的表連接實(shí)現(xiàn)的數(shù)據(jù)查詢,從而,一方面避免了現(xiàn)有技術(shù)使用sql語句查詢大量數(shù)據(jù)時頻繁訪問數(shù)據(jù)庫,給系統(tǒng)的i/o口造成較大壓力,提高了數(shù)據(jù)查詢性能,另一方面,也避免了使用sql語句的關(guān)鍵字查詢時枚舉值較多的情況下sql語句報(bào)錯,或者當(dāng)查詢的枚舉值大于預(yù)定值時也會出現(xiàn)數(shù)據(jù)壓力,無法有效完成數(shù)據(jù)查詢的問題。附圖說明圖1是本發(fā)明一個實(shí)施例的一種數(shù)據(jù)查詢方法的流程圖;圖2是本發(fā)明一個實(shí)施例的一種數(shù)據(jù)查詢方法的實(shí)現(xiàn)類圖;圖3是本發(fā)明一個實(shí)施例的一種數(shù)據(jù)查詢裝置的框圖。具體實(shí)施方式本發(fā)明的設(shè)計(jì)構(gòu)思是:針對現(xiàn)有技術(shù)中數(shù)據(jù)庫查詢時主要使用sql語句來直接查詢(如,使用sql關(guān)鍵字in/or)給系統(tǒng)的i/o口造成較大壓力,以及sql語句報(bào)錯、查詢效率低的問題,提出了一種避免使用sql的in/or關(guān)鍵字完成查詢的方案,本發(fā)明的方案利用事務(wù)臨時表,將待查詢數(shù)據(jù)的關(guān)鍵數(shù)據(jù)插入到事務(wù)臨時表中,并在事務(wù)臨時表和數(shù)據(jù)的原表之間建立表連接,利用這種表連接實(shí)現(xiàn)數(shù)據(jù)查詢,從而解決了現(xiàn)有技術(shù)中使用sql語句直接查詢方式導(dǎo)致的壓力大、報(bào)錯、效率低等問題。ssh(struts-spring-hibernate)是一種以達(dá)到快速查詢?yōu)槟繕?biāo)的技術(shù)框架,它結(jié)合java代碼可以創(chuàng)建dbms(databasemanagementsystem,數(shù)據(jù)庫管理系統(tǒng))的事務(wù)臨時表。事務(wù)臨時表是臨時表的一種。臨時表就是用來暫時保存臨時數(shù)據(jù)(或稱為中間數(shù)據(jù))的一個數(shù)據(jù)庫對象,它和數(shù)據(jù)庫中的普通表有相同之處,卻又有很大的區(qū)別。臨時表只能存儲在臨時表空間中,而非用戶的表空間。以oracle數(shù)據(jù)庫為例,oracle臨時表分為會話或事務(wù)級別的臨時表,只對當(dāng)前 會話或事務(wù)可見。每個會話只能查看和修改自己的數(shù)據(jù)。事務(wù)臨時表與事務(wù)有關(guān),當(dāng)進(jìn)行事務(wù)提交或者事務(wù)回滾的時候,臨時表的數(shù)據(jù)將自行截?cái)?,即?dāng)commit(提交)或rollback(回滾)時,數(shù)據(jù)就會被清空掉,其它的特性和會話臨時表一致?;诖?,本發(fā)明實(shí)施例利用事務(wù)臨時表處理臨時數(shù)據(jù)以及創(chuàng)建在內(nèi)存中,處理完成后可以清空的特性,提出了本發(fā)明的數(shù)據(jù)查詢方案,以下對本發(fā)明一個實(shí)施例的數(shù)據(jù)查詢方法進(jìn)行具體說明。實(shí)施例一圖1是本發(fā)明一個實(shí)施例的一種數(shù)據(jù)查詢方法的流程圖,參見圖1,本實(shí)施例的這種數(shù)據(jù)查詢方法應(yīng)用于同一事務(wù)執(zhí)行中,包括:步驟s11,接收數(shù)據(jù)查詢請求;步驟s12,從數(shù)據(jù)庫相應(yīng)的普通表中獲取查詢請求中待查詢數(shù)據(jù)的關(guān)鍵數(shù)據(jù),關(guān)鍵數(shù)據(jù)是至少包括能夠唯一標(biāo)識待查詢數(shù)據(jù)的數(shù)據(jù);步驟s13,在數(shù)據(jù)庫的臨時表空間中新建事務(wù)臨時表,并將待查詢數(shù)據(jù)的關(guān)鍵數(shù)據(jù)插入到事務(wù)臨時表中;步驟s14,建立事務(wù)臨時表和普通表的表連接,利用表連接實(shí)現(xiàn)待查詢數(shù)據(jù)的查詢。這里的表連接包括:等值連接、左連接或右連接。通過圖1所示的方法,當(dāng)接收到數(shù)據(jù)查詢請求時,根據(jù)數(shù)據(jù)查詢請求中的待查詢數(shù)據(jù),將數(shù)據(jù)庫普通表中待查詢數(shù)據(jù)的關(guān)鍵數(shù)據(jù)抽取出來作為臨時數(shù)據(jù),插入到內(nèi)存中的臨時表空間內(nèi)創(chuàng)建的事務(wù)臨時表中,然后,建立事務(wù)臨時表和數(shù)據(jù)庫中普通表之間的表連接,通過表連接完成數(shù)據(jù)查詢,如此在查詢大量數(shù)據(jù)時,一方面避免了頻繁讀取數(shù)據(jù)庫,影響系統(tǒng)io性能和查詢效率,另一方面,避免了使用sql語句關(guān)鍵字(例如,in)查詢枚舉值太多sql語句報(bào)錯以及枚舉值太多出現(xiàn)數(shù)據(jù)壓力。在本實(shí)施例中,步驟s13的在數(shù)據(jù)庫的臨時表空間中新建事務(wù)臨時表包括:獲取數(shù)據(jù)庫的類型,并根據(jù)數(shù)據(jù)庫的類型創(chuàng)建相應(yīng)的事務(wù)臨時表。數(shù)據(jù)庫的類型包括sqlserver數(shù)據(jù)庫、oracle數(shù)據(jù)庫等,實(shí)際應(yīng)用時應(yīng)根據(jù)不同的數(shù)據(jù)庫創(chuàng)建相應(yīng)的事務(wù)臨時表。將待查詢數(shù)據(jù)的關(guān)鍵數(shù)據(jù)插入到事務(wù)臨時表中具體實(shí)現(xiàn)包括:將關(guān)鍵數(shù) 據(jù)中待查詢數(shù)據(jù)的唯一標(biāo)識插入到事務(wù)臨時表的主鍵對應(yīng)的位置。也就是說,將待查詢數(shù)據(jù)的唯一標(biāo)識作為事務(wù)臨時表的主鍵,例如,查詢發(fā)票的相關(guān)信息時,從原表中獲取發(fā)票id,并將發(fā)票id作為新建的事務(wù)臨時表的主鍵值。本實(shí)施例中,圖1所示的方法進(jìn)一步包括:根據(jù)關(guān)鍵數(shù)據(jù)中待查詢數(shù)據(jù)的唯一標(biāo)識在相應(yīng)的普通表中的存儲位置在事務(wù)臨時表的主鍵上創(chuàng)建索引。索引是以表列為基礎(chǔ)的數(shù)據(jù)庫對象。索引中記錄了索引列在數(shù)據(jù)庫表中的物理存儲位置,實(shí)現(xiàn)了表中數(shù)據(jù)的邏輯排序。通過索引,可以加快數(shù)據(jù)的查詢速度和減少系統(tǒng)的響應(yīng)時間,進(jìn)而加快了事務(wù)表和普通表之間的連接查詢。通過建立索引,可以進(jìn)一步的提升數(shù)據(jù)查詢的效率,提升用戶體驗(yàn)。創(chuàng)建索引的具體實(shí)現(xiàn)方式不是本實(shí)施例的重點(diǎn),可以采用現(xiàn)有技術(shù)中任何可行的手段來實(shí)現(xiàn),對此不作限制。在具體實(shí)現(xiàn)時,通過java代碼根據(jù)連接的數(shù)據(jù)庫的不同,在內(nèi)存中來創(chuàng)建相應(yīng)的帶有不同列的臨時表,并且向該臨時表中插入預(yù)使用的臨時數(shù)據(jù),保證在同一事務(wù)中,使用sql語法的各種表連接此事務(wù)臨時表,保證在此事務(wù)中查詢出用戶所需要的數(shù)據(jù),提高查詢速度。但是創(chuàng)建并執(zhí)行數(shù)據(jù)庫事務(wù)需要注意以下幾點(diǎn):(1)在同一個事務(wù)中,保證能通過java代碼判斷出使用的是哪種數(shù)據(jù)庫,根據(jù)連接的數(shù)據(jù)源來創(chuàng)建相應(yīng)的臨時表。(2)在同一個事務(wù)中,保證可以向臨時表中正常插入數(shù)據(jù),并且單表查詢此表時能查出數(shù)據(jù),而通過數(shù)據(jù)庫查詢是查不到數(shù)據(jù)的,因?yàn)槭聞?wù)沒有提交(commit)。(3)在同一事務(wù)中,可以使用一張?jiān)砼c此臨時表做表連接,能夠查詢出正確的數(shù)據(jù)。以下結(jié)合一個具體的實(shí)例來對本發(fā)明的這種數(shù)據(jù)查詢方法的實(shí)現(xiàn)過程進(jìn)行說明,其他內(nèi)容參見本發(fā)明的其他實(shí)施例。實(shí)施例二一個具體的實(shí)例是,需要在數(shù)據(jù)庫的銷售訂單表中查找相關(guān)的發(fā)票消息,例如,一張銷售訂單表中存儲了500條銷售訂單記錄,這些銷售訂單中有些開了發(fā)票,有些沒開發(fā)票,而如果要從這500條銷售記錄中查詢出某些發(fā)票的相關(guān)信息,使用現(xiàn)有的sql語句的in關(guān)鍵字進(jìn)行枚舉查詢時,顯然查詢 效率非常低。本發(fā)明的數(shù)據(jù)查詢方法的實(shí)現(xiàn)原理是:將記錄了銷售訂單中開具了發(fā)票的銷售訂單記錄的發(fā)票表中將發(fā)票id抓取出來作為臨時數(shù)據(jù),然后在系統(tǒng)內(nèi)存中創(chuàng)建事務(wù)臨時表,并執(zhí)行查詢事務(wù),將臨時數(shù)據(jù)發(fā)票id插入到事務(wù)臨時表中,然后建立發(fā)票表和事務(wù)臨時表(或銷售訂單表與事務(wù)臨時表)之間的表連接,利用發(fā)票表和事務(wù)臨時表的表連接進(jìn)行數(shù)據(jù)查詢,而避免使用sql關(guān)鍵字in/or進(jìn)行枚舉,從而提高查詢效率。圖2是本發(fā)明一個實(shí)施例的一種數(shù)據(jù)查詢方法的實(shí)現(xiàn)類圖,參見圖2,uml(unifiedmodelinglanguage,統(tǒng)一建模語言或標(biāo)準(zhǔn)建模語言)類圖說明如下:其中,實(shí)體bean說明如下:tablecolumnvo:屬性:columntype:表列類型colunmname:表列名稱columnlength:表列長度tablevo:屬性:tablename:臨時表名indcolumn:臨時表索引列名tablecolvols:臨時表多列信息tabledatavols:插入臨時表的數(shù)據(jù)臨時表關(guān)鍵類與接口:itemptablecreator:創(chuàng)建臨時表接口方法:創(chuàng)建臨時表:createtemptable(tablevotemptablevo);刪除臨時表:droptemptable(stringtablename);abstractdbtemptableimpl:創(chuàng)建臨時表抽象類該類的屬性包括:namedparameterjdbcoperationsjdbcparamtemplate;方法:向臨時表中插入數(shù)據(jù):inserttemptabledata(tablevotemptablevo)oracletemptableimpl:oracle創(chuàng)建臨時表實(shí)現(xiàn)類,此類實(shí)現(xiàn)itemptablecreator接口,繼承abstractdbtemptableimpl抽象類;創(chuàng)建臨時表:createtemptable(tablevotemptablevo);刪除臨時表:droptemptable(stringtablename);向父類的jdbcparamtemplate屬性初始化:oracletemptableimpl(namedparameterjdbcoperationsjdbcparamtemplate);temptablefatctory:返回多數(shù)據(jù)庫創(chuàng)建臨時表的實(shí)例方法:根據(jù)數(shù)據(jù)源名稱來判斷使用哪種實(shí)現(xiàn)類實(shí)現(xiàn)操作臨時表的類;getdbtemptable(namedparameterjdbcoperationsjdbcparamtemplate,stringdbname)temptabletools:創(chuàng)建臨時表工具類。屬性:namedparameterjdbcoperationsjdbcparamtemplate;方法:構(gòu)造器初始化jdbcparamtemplate屬性值:temptabletools(namedparameterjdbcoperationsjdbcparamtemplate)創(chuàng)建臨時表:createtemptable(tablevotemptablevo,stringdbname)刪除臨時表:droptemptable(stringdbname,stringtablename)查詢數(shù)據(jù)庫dao類接口:orderentityid:訂單主鍵code:訂單編碼iorderdao訂單接口方法:queryorderbyids(list<corpentity>orderids)查詢一批訂單的詳細(xì)信息,現(xiàn)有技術(shù)中使用sql語句查詢,當(dāng)訂單id>200時則會出現(xiàn)效率問題。orderdaoimpl:訂單實(shí)現(xiàn)類,繼承iorderdao接口屬性:使用spring來注入namedparameterjdbcoperationsjdbcparamtemplatejdbctemplatejdbctemplate方法:queryorderbyids(list<corpentity>orderids)查詢一批訂單的詳細(xì)信息,現(xiàn)有技術(shù)中使用sql語句查詢,當(dāng)訂單id>200時會出現(xiàn)查詢效率低的問題。以下說明類圖中相關(guān)元素的具體調(diào)用過程:1、corpdaoimpl類的queryorderbyids方法中先定義tablecolumnvo實(shí)體,定義表的表名、列名、列長度,然后將此對象初始化到tablevo對象的tablecolvols屬性中。2、將queryorderbyids參數(shù)的orderids也封裝到tablevo的tabledatavols屬性中。3、創(chuàng)建temptabletools對象,使用jdbcparamtemplate來初始化此對象。4、調(diào)用temptabletools類中的createtemptable方法來創(chuàng)建臨時表返回相應(yīng)的表名稱。5、temptabletools類中的createtemptable方法會根據(jù)數(shù)據(jù)源的名稱來判斷使用的數(shù)據(jù)庫的類型,通過數(shù)據(jù)庫的類型來實(shí)例化相應(yīng)的類(oracletemptableimpl),然后調(diào)用此類的創(chuàng)建臨時表的方法來創(chuàng)建臨時表,并向臨時表中插入訂單的主鍵信息,返回臨時表名。6、第5步返回臨時表名后,如果原來在sql使用的是in關(guān)鍵字來查詢,此時就可以使用該臨時表來進(jìn)行等值聯(lián)接(innerjoin),左連接(leftjoin),右鏈接(rightjoin)的方式查詢數(shù)據(jù)庫。由上可知,通過表連接實(shí)現(xiàn)數(shù)據(jù)查詢能夠很好的解決兩個問題即:當(dāng)sql語句使用in時,枚舉值超過1000個數(shù)據(jù)庫會報(bào)錯的問題,這是因?yàn)閛racle數(shù)據(jù)庫的內(nèi)部表中有字段裝不下這么長的sql。以及,當(dāng)sql語句的枚舉值大于200時查詢效率低的問題。實(shí)施例三圖3是本發(fā)明一個實(shí)施例的一種數(shù)據(jù)查詢裝置的框圖,參見圖3,該數(shù)據(jù)查詢裝置30包括:事務(wù)執(zhí)行單元301,用于接收數(shù)據(jù)查詢請求;數(shù)據(jù)獲取單元302,用于從數(shù)據(jù)庫相應(yīng)的普通表中獲取查詢請求中待查詢數(shù)據(jù)的關(guān)鍵數(shù)據(jù),關(guān)鍵數(shù)據(jù)是至少包括能夠唯一標(biāo)識待查詢數(shù)據(jù)的數(shù)據(jù);將獲取的關(guān)鍵數(shù)據(jù)發(fā)送給數(shù)據(jù)插入單元303;數(shù)據(jù)插入單元303,用于在數(shù)據(jù)庫的臨時表空間中新建事務(wù)臨時表,并將待查詢數(shù)據(jù)的關(guān)鍵數(shù)據(jù)插入到事務(wù)臨時表中;查詢實(shí)現(xiàn)單元304,用于建立事務(wù)臨時表和普通表的表連接,利用表連接實(shí)現(xiàn)待查詢數(shù)據(jù)的查詢。本實(shí)施例中,數(shù)據(jù)插入單元303,具體用于獲取數(shù)據(jù)庫的類型,并根據(jù)數(shù)據(jù)庫的類型創(chuàng)建相應(yīng)的事務(wù)臨時表。本實(shí)施例中,數(shù)據(jù)插入單元303,具體用于將唯一標(biāo)識待查詢數(shù)據(jù)的數(shù)據(jù)分別插入到事務(wù)臨時表的主鍵對應(yīng)的位置。本實(shí)施例中該裝置30進(jìn)一步包括:索引創(chuàng)建單元,具體用于根據(jù)關(guān)鍵數(shù)據(jù)中的唯一標(biāo)識待查詢數(shù)據(jù)在相應(yīng)的普通表中的存儲位置,在事務(wù)臨時表的主鍵上創(chuàng)建索引,以將待查詢數(shù)據(jù)在相應(yīng)的普通表中的存儲位置信息記錄在主鍵對應(yīng)的字段上。本實(shí)施例中查詢實(shí)現(xiàn)單元304,具體用于建立事務(wù)臨時表和普通表之間的等值連接、左連接或右連接。需要說明的是,本實(shí)施例中的數(shù)據(jù)查詢裝置的工作過程是與前述數(shù)據(jù)查詢方法的實(shí)現(xiàn)步驟相對應(yīng)的,因而本實(shí)施例中對數(shù)據(jù)查詢裝置的工作過程沒有描述的部分可以參見本發(fā)明前述實(shí)施例的相關(guān)說明,這里不再贅述。本發(fā)明的這種數(shù)據(jù)查詢方法和裝置,通過從數(shù)據(jù)庫相應(yīng)的普通表中獲取 查詢請求中待查詢數(shù)據(jù)的關(guān)鍵數(shù)據(jù),關(guān)鍵數(shù)據(jù)是至少包括能夠唯一標(biāo)識待查詢數(shù)據(jù)的數(shù)據(jù);并將待查詢數(shù)據(jù)的關(guān)鍵數(shù)據(jù)插入到內(nèi)存中新建的事務(wù)臨時表中;建立事務(wù)臨時表和普通表的表連接,利用表連接實(shí)現(xiàn)待查詢數(shù)據(jù)的查詢。由于本申請的技術(shù)方案是利用內(nèi)存中的事務(wù)臨時表與普通表之間的表連接實(shí)現(xiàn)的數(shù)據(jù)查詢,從而,一方面避免了現(xiàn)有技術(shù)使用sql語句查詢大量數(shù)據(jù)時頻繁訪問數(shù)據(jù)庫,給系統(tǒng)的i/o口造成較大壓力,提高了數(shù)據(jù)查詢的性能。另一方面,也避免了使用sql語句的關(guān)鍵字查詢時枚舉值較多的情況下sql語句報(bào)錯,或者當(dāng)查詢的枚舉值大于預(yù)定值時也會出現(xiàn)數(shù)據(jù)壓力,無法有效完成數(shù)據(jù)查詢的問題。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。當(dāng)前第1頁12當(dāng)前第1頁12
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
确山县| 巩留县| 湄潭县| 锡林浩特市| 盐源县| 绩溪县| 平潭县| 开原市| 广宗县| 富川| 昌平区| 固始县| 林州市| 牙克石市| 凤山市| 长寿区| 金溪县| 宜都市| 荔波县| 太湖县| 青海省| 东丽区| 玉门市| 岑溪市| 宜兰市| 九寨沟县| 同仁县| 大余县| 新田县| 福安市| 弥渡县| 盐源县| 贡觉县| 临城县| 大新县| 日喀则市| 斗六市| 松阳县| 新建县| 名山县| 南丹县|