SQLite is a lightweight, self-contained SQL database engine.
The entire database is a single file on disk.
1) VACUUM. Reclaim unused space and defragment the database file.
VACUUM;
2) INDEX. Create indexes on columns that are frequently used in WHERE, JOIN, or ORDER BY clauses.
CREATE INDEX idx_last_name ON employees(last_name);
3) Wrap multiple operations in a transaction to improve speed.
BEGIN TRANSACTION;
INSERT INTO employees (name, position, salary) VALUES ('Alice', 'Manager', 75000);
INSERT INTO employees (name, position, salary) VALUES ('Bob', 'Developer', 55000);
UPDATE employees SET salary = 60000 WHERE name = 'Bob';
COMMIT;
4) OFFSET clause is used in conjunction with LIMIT for implementing pagination.
SELECT * FROM employees
LIMIT 10 OFFSET 20;
--Note: The limit and the offset values would be parameterized.
5) Generated Columns: In SQLite, generated columns allow you to automatically compute values based on other columns in the same row, enhancing data integrity and simplifying queries.
CREATE TABLE products (
id INTEGER PRIMARY KEY,
name TEXT,
price_per_unit REAL,
quantity_in_stock INTEGER,
total_value REAL GENERATED ALWAYS AS (price_per_unit * quantity_in_stock) STORED
);
--Note: Do not insert values for the generated column in an insert statement.