---
title: OmniRuntime OmniHBaseGSI全局二级索引
description: "HBase使用RowKey进行查询时，查询效率很高，但若使用非RowKey进行查询，则需要进行全表扫描，不仅耗费大量资源，查询时延也很长。在实际场景中，比如技侦场景的用户上网日志查询，可以根据电话号码查询、网站地址查询、IP地址查询等，在这种场景中，用非RowKey列（网页地址）查询性能需要遍历整个表，查询性能很差，全局二级索引用来解决非RowKey查询性能差的问题。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengbds/twp/kunpengbds_19_0039.html
sourcePath: /source/zh/kunpengbds/twp/kunpengbds_19_0039.html
indexId: 14ac39b7e28e542b32b7c6fa3f4fab7b66db277ca6a89160bce27f9771a80d9f49
---
# OmniRuntime OmniHBaseGSI全局二级索引

HBase使用RowKey进行查询时，查询效率很高，但若使用非RowKey进行查询，则需要进行全表扫描，不仅耗费大量资源，查询时延也很长。在实际场景中，比如技侦场景的用户上网日志查询，可以根据电话号码查询、网站地址查询、IP地址查询等，在这种场景中，用非RowKey列（网页地址）查询性能需要遍历整个表，查询性能很差，全局二级索引用来解决非RowKey查询性能差的问题。

OmniRuntime OmniHBaseGSI全局二级索引可以为非RowKey列上创建全局二级索引，从而极大加速非RowKey列的查询。在使用非RowKey列查询时，通过查询二级索引表，获得原表的RowKey，再用RowKey查询原表，从而极大提升查询速度，实现数倍的性能提升。没有二级索引的情况下，需要扫描整个表；有二级索引的情况，只需要两轮的RowKey查询。


#### OmniHBaseGSI全局二级索引性能数据

在20/50/100并发下，每并发50000个请求的情况下，测试了OmniHBaseGSI全局二级索引的性能，下图展示使用OmniHBaseGSI全局二级索引后，非RowKey列查询的平均时延和P99时延。

图1 OmniHBaseGSI全局二级索引性能
