Index anlegen
Oracle
CREATE INDEX customer_city_idx ON customer(city) ONLINE;ONLINE baut ihn ohne Sperren der Tabelle auf. Für eindeutige Indizes CREATE UNIQUE INDEX verwenden; (a, b) für zusammengesetzte.
PostgreSQL
CREATE INDEX CONCURRENTLY customer_city_idx ON customer(city);CONCURRENTLY blockiert keine Schreibzugriffe auf die Tabelle, kann aber nicht in einem Transaktionsblock laufen und ist langsamer.
MySQL
CREATE INDEX customer_city_idx ON customer(city);
-- Lock-free: ... ALGORITHM=INPLACE, LOCK=NONE;InnoDB legt die meisten Indizes online an; bei großen Tabellen Schreibzugriffe mit LOCK=NONE erlauben.
SQL Server
CREATE NONCLUSTERED INDEX IX_customer_city
ON dbo.customer (city)
WITH (ONLINE = ON);ONLINE ist ein Enterprise-Feature. Für abdeckende Spalten INCLUDE (col1, col2) verwenden.
MongoDB
db.customer.createIndex({ city: 1 })
// Unique: { city: 1 }, { unique: true }
// Built in the background without blocking (default behavior in 4.2+)1 ist aufsteigende, -1 absteigende Reihenfolge. Bei großen Collections reduziert der Aufbau zuerst auf einem Secondary die Last.
Redis
# Not applicable (core). If RediSearch is present:
# FT.CREATE idx ON HASH PREFIX 1 customer: SCHEMA city TAGSekundärindizes gibt es nur mit dem Modul RediSearch; Core-Redis greift über den Key zu.