Utilizing database metadata to optimize SQL queries

Utilizing database metadata to optimize SQL queries

EverSQL optimizes queries in layers. It uses dozens of layers and metadata pieces to decide which indexes and query transformation will be the most optimal for your queries and workload.

To help the optimization algorithm, in addition to the slow queries, EverSQL uses the database's metadata as part of the optimization process.

The following information is included in the metadata that is used as part of the optimization:

  • Tables metadata: schema name, table names, the amount of rows in each table, their character set and the engine.
  • Columns metadata: schema name, table name, column names, types, nullable property and the character set.
  • Indexes metadata: schema name, table name, index name, included columns, columns cardinality.
  • Views metadata: view name, view definition.
  • Functions metadata: function name, function definition.
  • Configuration metadata: database configuration names and values.

In the future we may ask for information, but it will always be metadata information. We'll never ask you to share any of your or your customers sensitive data.

The information you provide is protected and encrypted both in transit and at rest. You can read more here about the measures we take to secure your accounts and data.