Partager via


$indexStats

L’étape $indexStats d’agrégation retourne des statistiques d’utilisation pour chaque index de la collection. Cette étape est utile pour analyser les performances des index, identifier les index inutilisés et optimiser les performances des requêtes.

Syntaxe

{
  $indexStats: {}
}

Paramètres

La $indexStats phase ne prend aucun paramètre.

Examples

Considérez cet exemple de document de la collection des magasins.

{
    "_id": "0fcc0bf0-ed18-4ab8-b558-9848e18058f4",
    "name": "First Up Consultants | Beverage Shop - Satterfieldmouth",
    "location": {
        "lat": -89.2384,
        "lon": -46.4012
    },
    "staff": {
        "totalStaff": {
            "fullTime": 8,
            "partTime": 20
        }
    },
    "sales": {
        "totalSales": 75670,
        "salesByCategory": [
            {
                "categoryName": "Wine Accessories",
                "totalSales": 34440
            },
            {
                "categoryName": "Bitters",
                "totalSales": 39496
            },
            {
                "categoryName": "Rum",
                "totalSales": 1734
            }
        ]
    },
    "promotionEvents": [
        {
            "eventName": "Unbeatable Bargain Bash",
            "promotionalDates": {
                "startDate": {
                    "Year": 2024,
                    "Month": 6,
                    "Day": 23
                },
                "endDate": {
                    "Year": 2024,
                    "Month": 7,
                    "Day": 2
                }
            },
            "discounts": [
                {
                    "categoryName": "Whiskey",
                    "discountPercentage": 7
                },
                {
                    "categoryName": "Bitters",
                    "discountPercentage": 15
                },
                {
                    "categoryName": "Brandy",
                    "discountPercentage": 8
                },
                {
                    "categoryName": "Sports Drinks",
                    "discountPercentage": 22
                },
                {
                    "categoryName": "Vodka",
                    "discountPercentage": 19
                }
            ]
        },
        {
            "eventName": "Steal of a Deal Days",
            "promotionalDates": {
                "startDate": {
                    "Year": 2024,
                    "Month": 9,
                    "Day": 21
                },
                "endDate": {
                    "Year": 2024,
                    "Month": 9,
                    "Day": 29
                }
            },
            "discounts": [
                {
                    "categoryName": "Organic Wine",
                    "discountPercentage": 19
                },
                {
                    "categoryName": "White Wine",
                    "discountPercentage": 20
                },
                {
                    "categoryName": "Sparkling Wine",
                    "discountPercentage": 19
                },
                {
                    "categoryName": "Whiskey",
                    "discountPercentage": 17
                },
                {
                    "categoryName": "Vodka",
                    "discountPercentage": 23
                }
            ]
        }
    ]
}

Exemple 1 - Extraire des statistiques d’index

Cette requête récupère les statistiques d’utilisation pour tous les index de la collection de magasins.

db.stores.aggregate([
  { $indexStats: {} }
])

La requête retourne des statistiques pour chaque index, y compris les modèles d’accès et la fréquence d’utilisation.

[
  {
    "name": "_id_",
    "key": { "_id": 1 },
    "accesses": { "ops": 41675, "since": "2025-06-07T13:51:41.231Z" },
    "spec": { "v": 2, "key": { "_id": 1 }, "name": "_id_" }
  },
  {
    "name": "location_2dsphere",
    "key": { "location": "2dsphere" },
    "accesses": { "ops": 0, "since": "2025-06-07T13:51:41.231Z" },
    "spec": {
      "v": 2,
      "key": { "location": "2dsphere" },
      "name": "location_2dsphere",
      "2dsphereIndexVersion": 3
    }
  },
  {
    "name": "name_text_sales.salesByCategory.categoryName_text_promotionEvents.eventName_text_promotionEvents.discounts.categoryName_text",
    "key": {
      "name": "text",
      "sales.salesByCategory.categoryName": "text",
      "promotionEvents.eventName": "text",
      "promotionEvents.discounts.categoryName": "text"
    },
    "accesses": { "ops": 8, "since": "2025-06-07T13:51:41.231Z" },
    "spec": {
      "v": 2,
      "key": {
        "name": "text",
        "sales.salesByCategory.categoryName": "text",
        "promotionEvents.eventName": "text",
        "promotionEvents.discounts.categoryName": "text"
      },
      "name": "name_text_sales.salesByCategory.categoryName_text_promotionEvents.eventName_text_promotionEvents.discounts.categoryName_text"
    }
  }
]