wiki:Indexes

Version 1 (modified by 141515, 9 hours ago) ( diff )

--

Индекси

За возила

-- Index for status filtering (most common query)
CREATE INDEX IF NOT EXISTS idx_vehicle_status ON vehicle(status);

-- Index for dealership vehicles lookup
CREATE INDEX IF NOT EXISTS idx_vehicle_tax_nr ON vehicle(tax_nr);

-- Composite index for dealership + status (for getMyVehicles)
CREATE INDEX IF NOT EXISTS idx_vehicle_tax_nr_status ON vehicle(tax_nr, status);

-- Index for vehicle make/model searches (for future search functionality)
CREATE INDEX IF NOT EXISTS idx_vehicle_make ON vehicle(make);
CREATE INDEX IF NOT EXISTS idx_vehicle_model ON vehicle(model);

-- Composite index for make + model + year (common search pattern)
CREATE INDEX IF NOT EXISTS idx_vehicle_make_model_year ON vehicle(make, model, p_year);

-- Index for price range searches
CREATE INDEX IF NOT EXISTS idx_vehicle_price ON vehicle(price);

-- Index for year-based filtering
CREATE INDEX IF NOT EXISTS idx_vehicle_year ON vehicle(p_year);

За договори

-- Index for VIN lookups (most common join)
CREATE INDEX IF NOT EXISTS idx_agreement_vin ON agreement(vin);

-- Index for client agreements lookup
CREATE INDEX IF NOT EXISTS idx_agreement_embg ON agreement(embg);

-- Index for dealership agreements lookup
CREATE INDEX IF NOT EXISTS idx_agreement_tax_nr ON agreement(tax_nr);

-- Index for date-based ordering (
CREATE INDEX IF NOT EXISTS idx_agreement_datum ON agreement(datum);

-- Composite index for dealership + date (for getDealershipAgreements)
CREATE INDEX IF NOT EXISTS idx_agreement_tax_nr_datum ON agreement(tax_nr, datum DESC);

-- Composite index for client + date (for getClientAgreements)
CREATE INDEX IF NOT EXISTS idx_agreement_embg_datum ON agreement(embg, datum DESC);

-- Index for status filtering
CREATE INDEX IF NOT EXISTS idx_agreement_status ON agreement(status);

-- Composite index for VIN + status (for duplicate prevention)
CREATE INDEX IF NOT EXISTS idx_agreement_vin_status ON agreement(vin, status);

За уплати

-- Index for agreement lookups (most common join)
CREATE INDEX IF NOT EXISTS idx_payment_a_id ON payment(a_id);

-- Index for client payments lookup
CREATE INDEX IF NOT EXISTS idx_payment_embg ON payment(embg);

-- Index for date-based ordering
CREATE INDEX IF NOT EXISTS idx_payment_created_at ON payment(created_at);

-- Composite index for agreement + amount (for validation)
CREATE INDEX IF NOT EXISTS idx_payment_a_id_amount ON payment(a_id, amount);

За клиенти

-- Index for email lookups (login)
CREATE INDEX IF NOT EXISTS idx_client_email ON client(email);

-- Composite index for email + password (login optimization)
CREATE INDEX IF NOT EXISTS idx_client_email_pass ON client(email, pass);

-- Index for name searches
CREATE INDEX IF NOT EXISTS idx_client_name ON client(c_name);

За претставништва

-- Index for email lookups (login)
CREATE INDEX IF NOT EXISTS idx_dealership_email ON dealership(email);

-- Composite index for email + password (login optimization)
CREATE INDEX IF NOT EXISTS idx_dealership_email_pass ON dealership(email, pass);

-- Index for name searches
CREATE INDEX IF NOT EXISTS idx_dealership_name ON dealership(d_name);
Note: See TracWiki for help on using the wiki.