Join more than 25k Postgres enthusiasts and sign up for our newsletter!

Indexing Engine CP Model: Built-in Configurations

By default, one of the following built-in configurations is applied, depending on the workload pattern on the table. You can learn more about the high-level perspective on this in the Index Advisor configuration documentation.

Read the rules and goals documentation to understand the difference between configurations.

Write-optimized

{
  "Method": "CP",
  "Options": {
    "Goals": [
      {
        "Name": "Minimize Maximum Weighted Cost",
        "Tolerance": 10
      },
      {
        "Name": "Minimize Update Overhead",
        "Tolerance": 0
      },
      {
        "Name": "Minimize Index Write Overhead",
        "Tolerance": 0
      }
    ],
    "Rules": [
      {
        "Name": "Maximum Per-Scan Cost Tolerance",
        "Value": 100
      }
    ]
  }
}

Balanced

{
  "Method": "CP",
  "Options": {
    "Goals": [
      {
        "Name": "Minimize Update Overhead",
        "Tolerance": 0
      },
      {
        "Name": "Minimize Index Write Overhead",
        "Tolerance": 0
      }
    ],
    "Rules": [
      {
        "Name": "Maximum Per-Scan Cost Tolerance",
        "Value": 10
      }
    ]
  }
}

Read-optimized

{
  "Method": "CP",
  "Options": {
    "Goals": [
      {
        "Name": "Minimize Update Overhead",
        "Tolerance": 0
      },
      {
        "Name": "Minimize Index Write Overhead",
        "Tolerance": 0
      }
    ],
    "Rules": [
      {
        "Name": "Maximum Per-Scan Cost Tolerance",
        "Value": 5
      }
    ]
  }
}

Couldn't find what you were looking for or want to talk about something specific?
Start a conversation with us →