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 our optimization algorithm, we ask you to provide your database's metadata, which will be used as part of the optimization process. The query you're being asked to execute will only fetch metadata from the information_schema schema, which includes metadata about your database's tables, columns, indexes and more.

The information you're exporting using the metadata export query includes:

  • 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.
  • 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.