国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

一起探索內(nèi)存數(shù)據(jù)庫中代碼生成的實現(xiàn)方法

2022-07-15 11:42 作者:今晨資訊  | 我要投稿


根據(jù)軟件基本方法:程序 = 數(shù)據(jù)結(jié)構(gòu) + 算法,那么依托代碼生成來提升內(nèi)存數(shù)據(jù)庫的查詢性能十分可行,這篇內(nèi)容想通過一個實例來為大家介紹如何依托代碼生成來提升查詢性能,我想舉一個RapidsDB的例子。

?

首先看代碼生成的架構(gòu)。代碼生成使用專門的編程語言,選用這門語言的原因是使用簡單、管理嚴(yán)密。SQL操作符樹將會被直接轉(zhuǎn)化為抽象語法樹,以化解在查詢編譯時對昂貴的解析和語義解析的需求。

?

除了語言的簡單性以外,其還受益于將許多關(guān)系操作作為原語公開,如“索引查找”和標(biāo)量操作,如“BIGINT加法”。這些操作符是與服務(wù)器一起靜態(tài)編譯的,可以很容易地組合成查詢。這樣,許多編譯工作就可以提前完成。

?

接下來,再來看數(shù)據(jù)庫字節(jié)編碼。編譯查詢時,RapidsDB首先展開成緊湊的格式,也可以稱為RapidsDB字節(jié)碼。這種格式的執(zhí)行計劃可以輕易的進(jìn)行序列化、解釋或轉(zhuǎn)換為LLVM位代碼,以便編譯成x86_64機(jī)器代碼。這種直接解釋字節(jié)碼基本消除了第一次運(yùn)行查詢的成本,但會影響查詢執(zhí)行的性能:

?


在這個例子中,第一個請求沒有額外的延遲產(chǎn)生,因為該查詢被解釋了。

?


上面例子的第一個請求的額外延遲是代碼生成的結(jié)果。但是,后續(xù)的請求速度是上門解釋執(zhí)行的速度的兩倍。

?

在RapidsDB的應(yīng)用項目實例中,在國有大行普惠金融項目應(yīng)用中,50%左右的查詢是結(jié)構(gòu)重復(fù)的查詢,而RapidsDB依托代碼生成的優(yōu)化特性降低了50%-80%的查詢時間,獲得很好的使用體驗。

?

好了,代碼生成我們介紹到這。


一起探索內(nèi)存數(shù)據(jù)庫中代碼生成的實現(xiàn)方法的評論 (共 條)

分享到微博請遵守國家法律
辽阳县| 电白县| 剑阁县| 庆城县| 疏勒县| 南投市| 泸水县| 砚山县| 岱山县| 汾阳市| 宜川县| 泸溪县| 柳河县| 湟中县| 弥勒县| 罗源县| 吐鲁番市| 麻栗坡县| 建阳市| 西宁市| 洛川县| 肥东县| 酒泉市| 山东省| 托克逊县| 平原县| 屏东县| 青岛市| 天门市| 乐东| 东乡县| 贞丰县| 积石山| 巩义市| 平利县| 安吉县| 大邑县| 凤山市| 台南县| 嘉定区| 万载县|