Le Global Secondary Index (GSI) est une fonctionnalité essentielle de PolarDB-X. Contrairement à un index secondaire local, les données d'un GSI sont partitionnées selon des méthodes spécifiques, puis distribuées sur plusieurs nœuds de stockage. Les GSI permettent d'ajouter des dimensions de partitionnement et de créer des contraintes d'unicité globale.
Chaque GSI correspond à une table d'index distribuée. Cette table est divisée horizontalement en plusieurs tables physiques selon des règles définies. PolarDB-X utilise des transactions distribuées pour garantir une cohérence forte des données entre la table principale et les tables d'index d'une base de données. 
Les GSI offrent les possibilités suivantes :
Réduire la charge des requêtes sur la table principale grâce aux index couvrants.
Modifier le schéma d'une table en ligne et ajouter un GSI sans verrouiller la table principale.
Utiliser des hints pour spécifier des index. Le système détermine alors automatiquement s'il doit interroger la table principale.
Exemple 1 : Ajout d'une dimension de partitionnement. Si la table des commandes d'une plateforme d'e-commerce est partitionnée par acheteur, toute recherche concernant un vendeur spécifique (par exemple, toutes ses commandes du mois en cours) nécessite l'analyse de toutes les partitions. Un GSI permet de ne parcourir que la partition de la table d'index contenant les données de ce vendeur, ce qui accélère la récupération des informations de commande.
Exemple 2 : Ajout d'une contrainte d'unicité globale. Prenons une table utilisateur distribuée et partitionnée par ID utilisateur. Pour garantir l'unicité globale du numéro de téléphone mobile, créez un index unique utilisant ce numéro comme clé d'index et clé de partitionnement. Les index locaux seuls ne suffisent pas à assurer cette unicité globale.