Clustered Indexes and the WITHOUT ROWID Optimization
Clustered Indexes and the WITHOUT ROWID Optimization
1. Introduction
By default, every row in SQLite has a special column, usually called the "rowid", that uniquely identifies that row within the table. However if the phrase "WITHOUT ROWID" is added to the end of a CREATE TABLE statement, then the special "rowid" column is omitted. There are sometimes space and performance advantages to omitting the rowid.
A WITHOUT ROWID table is a table that uses a Clustered Index as the primary key.
1.1. Syntax
To create a WITHOUT ROWID table, simply add the keywords "WITHOUT ROWID" to the end of the CREATE TABLE