0Pricing
PostgreSQL Performance & Query Optimization · Lektion

Zusammengesetzte und abdeckende Indizes

Beschleunigen Sie Abfragen über mehrere Spalten mit zusammengesetzten Indizes und vermeiden Sie Tabellenzugriffe vollständig, indem Sie abdeckende Indizes mit INCLUDE verwenden.

Zusammengesetzte und abdeckende Indizes ist eine kostenlose PostgreSQL Performance & Query Optimization-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des PostgreSQL Performance & Query Optimization-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der PostgreSQL Performance & Query Optimization-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

Beyond Single-Column Indexes

Many queries filter on more than one column. A composite index spans multiple columns and can serve such queries far better than separate single-column indexes.

Creating a Composite Index

List columns in the order you want them indexed.

CREATE INDEX idx_orders_cust_date
ON orders (customer_id, order_date);

Column Order Matters

A composite index on (a, b) helps queries filtering on a alone or a AND b, but generally NOT queries filtering only on b.

The Leftmost Prefix Rule

PostgreSQL can use any leftmost prefix of the index. So (a, b, c) serves filters on a, on a+b, and on a+b+c.

Ordering by Selectivity

Put the most selective or most frequently filtered column first, often an equality column before a range column, to maximize how many rows the index eliminates early.

CREATE INDEX idx_orders_status_date
ON orders (status, order_date);

The Heap Lookup Cost

A normal index scan finds matching rows then visits the table (the heap) to read the other columns. Those extra fetches cost I/O.

Covering Indexes

A covering index contains every column the query needs, so PostgreSQL answers from the index alone, an Index Only Scan, with no heap visit.

Using INCLUDE

The INCLUDE clause adds non-key columns to the index leaf pages so they are available without being part of the searchable key.

CREATE INDEX idx_orders_cust_incl
ON orders (customer_id)
INCLUDE (order_date, total);

Confirming Index Only Scan

Check the plan; you want to see Index Only Scan rather than Index Scan plus heap fetches.

EXPLAIN ANALYZE
SELECT order_date, total
FROM orders WHERE customer_id = 42;

The Visibility Map Caveat

Index Only Scans still need the heap when pages are not marked all-visible. Keeping tables well-vacuumed maintains the visibility map so scans stay index-only.

VACUUM ANALYZE orders;

Costs of Wide Indexes

More columns mean larger indexes and slower writes. Add covering columns only for hot queries, not everywhere.

Quick Check

Test what you have learned.

Recap

You learned how composite indexes serve multi-column filters under the leftmost prefix rule, how column order and selectivity matter, and how covering indexes with INCLUDE enable Index Only Scans, balanced against larger size and write cost.

Häufig gestellte Fragen

Ist die Lektion „Zusammengesetzte und abdeckende Indizes“ kostenlos?

Ja — der vollständige Text von „Zusammengesetzte und abdeckende Indizes“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des PostgreSQL Performance & Query Optimization-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der PostgreSQL Performance & Query Optimization-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Zusammengesetzte und abdeckende Indizes“?

Beschleunigen Sie Abfragen über mehrere Spalten mit zusammengesetzten Indizes und vermeiden Sie Tabellenzugriffe vollständig, indem Sie abdeckende Indizes mit INCLUDE verwenden. Du übst PostgreSQL Performance & Query Optimization mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um PostgreSQL Performance & Query Optimization zu starten?

Keine Vorkenntnisse erforderlich. PostgreSQL Performance & Query Optimization auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Zusammengesetzte und abdeckende Indizes“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser PostgreSQL Performance & Query Optimization-Lektion Code schreiben und ausführen?

Ja. Jede PostgreSQL Performance & Query Optimization-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Grundlagen von B-Tree-Indizes
  2. Indizes erstellen und verwenden
  3. Wann und wie Sie Indizes verwenden
  4. Zusammengesetzte und abdeckende Indizes
← Zurück zu PostgreSQL Performance & Query Optimization