How Projections are Created
For each table in the database, Vertica requires a minimum of one projection, called a superprojection,. A superprojection contains all columns in a given table. Vertica uses superprojections to ensure support for all queries and other DML operations.
Under certain conditions, Vertica automatically creates a table's superprojection immediately on table creation. Vertica also creates a superprojection when you first load data into that table, if none already exists. CREATE PROJECTION
can create a superprojection if it specifies to include all table columns. A table can have multiple superprojections.
While superprojections can support all queries on any table, they do not facilitate optimal execution of specific queries. To optimize query execution, you should run Database Designer on a representative sample of your data. Database Designer creates projections that optimize your database based on its data statistics and the queries you use, as follows:
- Analyzes your logical schema, sample data, and (optionally) sample queries.
- Creates a physical schema, design (projections) in the form of a SQL script that can be deployed automatically or manually.
Database Designer creates designs that provide excellent query performance within physical constraints. Database Designer uses sophisticated strategies to provide excellent ad-hoc query performance while using disk space efficiently. If desired, you can also design custom projections.