日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

表格存储 SQL 查询多元索引

發(fā)布時間:2024/8/23 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 表格存储 SQL 查询多元索引 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

簡介:?多元索引是表格存儲產(chǎn)品中一個重要的功能,多元索引使用倒排索引技術(shù)為表格存儲提供了非主鍵列上的快速檢索功能,另外也提供了統(tǒng)計聚合功能。表格存儲近期開放了SQL查詢功能,SQL引擎默認(rèn)從原始表格中讀取數(shù)據(jù),非主鍵列上的查詢需要掃描全表。

作者 | 政豪
來源 | 阿里技術(shù)公眾號

多元索引是表格存儲產(chǎn)品中一個重要的功能,多元索引使用倒排索引技術(shù)為表格存儲提供了非主鍵列上的快速檢索功能,另外也提供了統(tǒng)計聚合功能。表格存儲近期開放了SQL查詢功能,SQL引擎默認(rèn)從原始表格中讀取數(shù)據(jù),非主鍵列上的查詢需要掃描全表。開啟了多元索引之后,如果一個查詢的過濾條件或者統(tǒng)計聚合可以下推至多元索引執(zhí)行,那么SQL引擎將部分查詢計劃轉(zhuǎn)換為多元索引請求,將從多元索引中獲取數(shù)據(jù),提高查詢效率。

一 多元索引SQL算子支持

1 前提條件

在使用SQL查詢多元索引之前,首先需要在表格上創(chuàng)建多元索引。如果多元索引包含SQL語句中涉及的數(shù)據(jù)列,則SQL引擎會通過多元索引讀取數(shù)據(jù)并下推多元索引支持的算子。例如有一張表exampletable有a, b, c, d四列,多元索引中包含了b, c, d三列,只有當(dāng)SQL語句中只涉及b, c, d中的數(shù)據(jù)列時,才會從多元索引讀取數(shù)據(jù)。

SELECT a, b, c, d FROM exampletable; /* 多元索引不包含a,b,c,d,掃描全表讀取數(shù)據(jù),不支持算子下推 */ SELECT b, c, d FROM exampletable; /* 多元索引包含b,c,d,通過多元索引讀取數(shù)據(jù),支持算子下推 */

2 支持下推的算子

二 多元索引SQL查詢實戰(zhàn)

為了直觀地展示SQL查詢多元索引功能,下文將以某自行車租賃商的訂單表為例,使用多元索引上的SQL功能完成一些簡單的查詢分析任務(wù)。某自行車租賃商的訂單表如下:

整張表格名為trips,每一筆租車訂單都有唯一的訂單號作為主鍵,訂單中記錄了租車時長、開始日期、結(jié)束日期、開始站點、結(jié)束站點等信息。表格中包含120萬行數(shù)據(jù),在沒有開啟多元索引的情況下對表格行數(shù)進(jìn)行統(tǒng)計,查詢會因為超出掃描配額限制而終止。

同樣地,如果以非主鍵列作為查詢條件進(jìn)行查詢,也會因為涉及全表掃描超過掃描配額而被終止。

為了能夠根據(jù)非主鍵列的值進(jìn)行查詢以及統(tǒng)計聚合,需要創(chuàng)建覆蓋全部數(shù)據(jù)列的多元索引。對于數(shù)據(jù)量比較大的表格,需要較長的時間等待多元索引同步完成。

1 過濾條件下推

在開啟多元索引之后,即可在非主鍵列上進(jìn)行條件查詢。例如,下圖查詢起點編號31208到起點編號31209的租車訂單,借助多元索引,SQL引擎能夠在500毫秒之內(nèi)查詢到全表中滿足條件的140行記錄。

多元索引支持多個條件的組合,例如查詢2010年10月1日當(dāng)天,站點31208的訂單。由于外國10月1日不放假,那天的訂單數(shù)量并不是很多。

2 統(tǒng)計聚合下推

除了非主鍵列查詢,多元索引還提供了強大的統(tǒng)計聚合能力。在未創(chuàng)建多元索引的時候無法統(tǒng)計行數(shù),但是有了多元索引,能在500毫秒左右查詢到行數(shù)、站點數(shù)、平均租車時長等信息。

同樣地,分組統(tǒng)計聚合也可以快速獲取結(jié)果,例如列出每個站點總訂單數(shù)目。

過濾條件和統(tǒng)計聚合可以一起使用,例如查詢2010年10月1日當(dāng)天每個站點訂單數(shù)目。

3 TopN下推

SQL中包含ORDER BY和LIMIT的語句成為TopN查詢,多元索引支持快速查詢TopN,圖中的查詢展示了最近的10條數(shù)據(jù)。

原文鏈接
本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。?

總結(jié)

以上是生活随笔為你收集整理的表格存储 SQL 查询多元索引的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。