अनुक्रमणिकाधर्मः। इदमर्थकुञ्चिकायां (४ अक्टो) एकफलम्। अत्र पठनपथः कथं शीघ्रः। अनुक्रमणिका, संयुक्तक्रमः, मितत्वम्। न अन्धरोपणम्; सूचिधर्मः।
English (minimizable)
After idempotency keys (4 Oct), this post covers database indexes: query-driven design, composite order, index budget, partial/covering indexes, safe drops, selectivity, online builds and FK companions.
पूर्ण-शीर्षकम् / Full title
अनुक्रमणिकाधर्मः: A Metrical Codification of Database Indexing (with English glosses)
English · overview and topics (minimizable)
What this post is about
Indexes speed selective reads and enforce some constraints. They cost storage and slow writes so they must match real queries.
Topics covered
- Table scans vs indexed access
- Explain-driven creation
- Composite leftmost order
- Too many indexes
- Partial and covering indexes
- Dropping safely
- Selectivity
- Online/concurrent builds
- Foreign-key companion indexes
- Links to pagination and time-series access
Sanskrit title
अनुक्रमणिकाधर्मः = anukramaṇikā-dharmaḥ “dharma of the index”.
English
Minimizable details only; Sanskrit open by default.
परम्परा-सन्धिः / Series links
| पूर्वं / Prior | अत्र / Adds | न पुनः / Does not repeat |
|---|---|---|
| पृष्ठांकनन्यायः (२२ सितम्बे) | cursor order | supporting indexes |
| प्रवासनधर्मः (६ सितम्बे) | schema change | online index build |
| कालश्रेणीभण्डारः (२६ सितम्बे) | time access | time-ordered paths |
| इदम् | query-shaped indexes budget | - |
ग्राह्य-त्याज्य-विवेकः / Keep and avoid
ग्राह्यम् / Keep
१. प्रश्नपूर्वम्: slow-query and EXPLAIN first
२. वामक्रमः: leftmost composite design
३. लेखनमूल्यम्: count write cost
४. आंशिकसूचिः: partial where stable
५. FKसूचिः: index FK join columns
६. निर्माणनीतिः: concurrent/off-peak builds
७. माप्यड्रॉप: usage stats before drop
त्याज्यम् / Avoid
- index every column by habit
- drop unused without checking monthly jobs
- build huge indexes on primary during peak with full lock
अध्याय-योजना / Chapter plan
| प्रकरणम् | विषयः | छन्दः | श्लोकाः |
|---|---|---|---|
| १ | मङ्गलं बीजं च / Opening | अनुष्टुभ् | २ |
| २ | मूलतत्त्वानि / Core | अनुष्टुभ् | २ |
| ३ | मुख्यविधिः / Method | उपजाति | १ |
| ४ | रक्षा · विधिः / Guards | अनुष्टुभ् | २ |
| ५ | विवेक · सीमा / Judgment | अनुष्टुभ् | २ |
| ६ | पूर्वसन्धिः / Series links | उपजाति | १ |
| ७ | उपसंहारः / Close | अनुष्टुभ् | २ |
पारिभाषिक-कोशः / Glossary
| Modern English | संस्कृतम् | Note |
|---|---|---|
| index | अनुक्रमणिका / सूचिः | |
| composite index | संयुक्तानुक्रमः | |
| covering index | आवरणसूचिका | |
| partial index | आंशिकसूचिका | |
| selectivity | विशिष्टता | |
| table scan | पूर्णपटलपठनम् | |
| b-tree | बी-वृक्षवर्गः | common default |
| online DDL | जीवत्परिवर्तनम् | |
| index bloat | सूचिस्फितिः | |
| foreign key | बहिःकुञ्चिका |
श्लोकः १ (अनुष्टुभ्)
अनुक्रमणिकाधर्मस्तस्माद् वेगपथः ॥१॥
पदच्छेदः · Word-for-word · English (minimizable)
पदच्छेदः
बिना अनुक्रमणिका यदि महती सूची तदा कालः सर्पति ।
अनुक्रमणिकाधर्मस्तस्माद् वेगपथः ॥१॥
Word-for-word
| संस्कृतपदम् | Word-for-word English |
|---|---|
| बिना | without |
| अनुक्रमणिका | index |
| महती | great |
| सूची | table/list |
| कालः | time |
| सर्पति | creeps |
| अनुक्रमणिकाधर्मः | index dharma |
| वेगपथः | speed path |
Gloss table
| पदम् | अर्थः / sense |
|---|---|
| अनुक्रमणिका | index |
| महती सूची | large table scan |
| वेगपथः | fast path |
English sense
Sequential scans on large tables burn CPU and time. Indexes are ordered structures that make selective lookups cheap when designed to match queries.
Context / topic
Topic: why indexes.
वृत्तमिति: ८-८-८-८।
श्लोकः २ (अनुष्टुभ्)
अन्धो इंडेक्सः लेखं हन्ति ॥२॥
पदच्छेदः · Word-for-word · English (minimizable)
पदच्छेदः
प्रश्नाकृतिः पूर्वं पश्येत् ततः अङ्कुरं रोपयेत् ।
अन्धो इंडेक्सः लेखं हन्ति ॥२॥
Word-for-word
| संस्कृतपदम् | Word-for-word English |
|---|---|
| प्रश्नाकृतिः | query shape |
| पूर्वम् | first |
| पश्येत् | should see |
| अङ्कुरम् | sprout/index |
| रोपयेत् | plant |
| अन्धः | blind |
| इंडेक्सः | index |
| लेखम् | writes |
| हन्ति | hurts |
Gloss table
| पदम् | अर्थः / sense |
|---|---|
| प्रश्नाकृतिः | query shape |
| अन्धो इंडेक्सः | index without query proof |
English sense
Create indexes from measured slow queries and EXPLAIN plans not from guesswork. Every index slows writes.
Context / topic
Topic: query-driven indexing.
वृत्तमिति: ८-८-८-८।
श्लोकः ३ (अनुष्टुभ्)
व्यत्यस्तक्रमः न पथः ॥३॥
पदच्छेदः · Word-for-word · English (minimizable)
पदच्छेदः
संयुक्तानुक्रमः स्तम्भक्रमेण सत्यः ।
व्यत्यस्तक्रमः न पथः ॥३॥
Word-for-word
| संस्कृतपदम् | Word-for-word English |
|---|---|
| संयुक्तानुक्रमः | composite index |
| स्तम्भक्रमेण | by column order |
| सत्यः | true/effective |
| व्यत्यस्तक्रमः | reversed order |
| न पथः | not a path |
Gloss table
| पदम् | अर्थः / sense |
|---|---|
| संयुक्तानुक्रमः | composite index |
| स्तम्भक्रमेण | column order |
English sense
Composite indexes are ordered leftmost. An index on (tenant_id, created_at) helps tenant+time filters; it does not magically optimize bare created_at alone the same way.
Context / topic
Topic: composite leftmost prefix.
वृत्तमिति: ८-८-८-८।
श्लोकः ४ (अनुष्टुभ्)
मिता एव श्रेयांसि ॥४॥
पदच्छेदः · Word-for-word · English (minimizable)
पदच्छेदः
अतिसूचिता स्मृतिं लेखनं च ग्रसते ।
मिता एव श्रेयांसि ॥४॥
Word-for-word
| संस्कृतपदम् | Word-for-word English |
|---|---|
| अतिसूचिता | over-indexed |
| स्मृतिम् | memory |
| लेखनम् | writes |
| ग्रसते | devours |
| मिता | measured |
| श्रेयांसि | better things |
Gloss table
| पदम् | अर्थः / sense |
|---|---|
| अतिसूचिता | too many indexes |
| मिता | measured few |
English sense
Each extra index is storage and write amplification. Prefer fewer indexes that match the hot path.
Context / topic
Topic: index budget.
वृत्तमिति: ८-८-८-८।
श्लोकः ५ (उपजाति)
पूर्णा लेख्या धर्मतः ।
अज्ञाते planner
मिथ्या आशां ददाति ॥५॥
पदच्छेदः · Word-for-word · English (minimizable)
पदच्छेदः
आवरणसूचिका आंशिकी वा
पूर्णा लेख्या धर्मतः ।
अज्ञाते planner
मिथ्या आशां ददाति ॥५॥
Word-for-word
| संस्कृतपदम् | Word-for-word English |
|---|---|
| आवरणसूचिका | covering index |
| आंशिकी | partial |
| पूर्णा | full |
| लेख्या | documented |
| planner | planner |
| मिथ्या आशाम् | false hope |
| ददाति | gives |
Gloss table
| पदम् | अर्थः / sense |
|---|---|
| आवरणसूचिका | covering index |
| आंशिकी | partial index |
English sense
Partial indexes and covering indexes are powerful when predicates are stable. Document why they exist so nobody drops them as unused.
Context / topic
Topic: partial and covering indexes.
वृत्तमिति: एकादशाक्षराः पादाः।
श्लोकः ६ (अनुष्टुभ्)
unused न तु नाममात्रेण हन्यात् ॥६॥
पदच्छेदः · Word-for-word · English (minimizable)
पदच्छेदः
विफलाः सूचिका जीर्णा वा माप्यैः पश्येत् ।
unused न तु नाममात्रेण हन्यात् ॥६॥
Word-for-word
| संस्कृतपदम् | Word-for-word English |
|---|---|
| विफलाः | failing/unused |
| सूचिकाः | indexes |
| जीर्णाः | aged |
| माप्यैः | by metrics |
| पश्येत् | should see |
| unused | unused |
| न तु | not |
| नाममात्रेण | by name alone |
| हन्यात् | should kill |
Gloss table
| पदम् | अर्थः / sense |
|---|---|
| जीर्णा | bloated/stale stats |
| unused | unused flag |
English sense
Use database stats on index scans before dropping. A rarely used index may still guard a monthly close or DR path.
Context / topic
Topic: safe index removal.
वृत्तमिति: ८-८-८-८।
श्लोकः ७ (अनुष्टुभ्)
बूलियनमात्रे विवेकः ॥७॥
पदच्छेदः · Word-for-word · English (minimizable)
पदच्छेदः
विशिष्टता न्यूना चेत् सूचिः मन्दा ।
बूलियनमात्रे विवेकः ॥७॥
Word-for-word
| संस्कृतपदम् | Word-for-word English |
|---|---|
| विशिष्टता | selectivity |
| न्यूना | low |
| सूचिः | index |
| मन्दा | weak |
| बूलियनमात्रे | on bare boolean |
| विवेकः | judgment |
Gloss table
| पदम् | अर्थः / sense |
|---|---|
| विशिष्टता | selectivity/cardinality |
| बूलियनमात्रे | low-cardinality bool alone |
English sense
Low-selectivity leading columns often help little alone. Combine with high-selectivity keys or partial predicates.
Context / topic
Topic: selectivity.
वृत्तमिति: ८-८-८-८।
श्लोकः ८ (अनुष्टुभ्)
दीर्घा निर्माणे रात्रिं रक्ष ॥८॥
पदच्छेदः · Word-for-word · English (minimizable)
पदच्छेदः
लेखे तालाः सूचिभिः सम्बद्धाः ।
दीर्घा निर्माणे रात्रिं रक्ष ॥८॥
Word-for-word
| संस्कृतपदम् | Word-for-word English |
|---|---|
| लेखे | on writes |
| तालाः | locks |
| सूचिभिः | with indexes |
| सम्बद्धाः | related |
| दीर्घा | long |
| निर्माणे | in build |
| रात्रिम् | night/off-peak |
| रक्ष | guard |
Gloss table
| पदम् | अर्थः / sense |
|---|---|
| दीर्घा निर्माणे | long index builds |
| रात्रिं रक्ष | protect peak hours |
English sense
Online/concurrent index builds when available; schedule heavy builds off peak; watch lock and replication lag.
Context / topic
Topic: online DDL. Links to migrations.
वृत्तमिति: ८-८-८-८।
श्लोकः ९ (अनुष्टुभ्)
अनाथा FK मन्दा join ॥९॥
पदच्छेदः · Word-for-word · English (minimizable)
पदच्छेदः
FOREIGN KEY सूचिः प्रायः सहजा ।
अनाथा FK मन्दा join ॥९॥
Word-for-word
| संस्कृतपदम् | Word-for-word English |
|---|---|
| FOREIGN | foreign |
| KEY | key |
| सूचिः | index |
| प्रायः | often |
| सहजा | natural pair |
| अनाथा | orphan |
| FK | FK |
| मन्दा | slow |
| join | join |
Gloss table
| पदम् | अर्थः / sense |
|---|---|
| FOREIGN KEY | FK |
| अनाथा FK | FK without supporting index |
English sense
Index foreign-key columns used in joins and cascades. Unindexed FKs cause painful deletes and joins.
Context / topic
Topic: FK companion indexes.
वृत्तमिति: ८-८-८-८।
श्लोकः १० (उपजाति)
कालश्रेणी समयेन ।
प्रश्नाः सूचिम्
रूपयन्ति न विपर्ययः ॥१०॥
पदच्छेदः · Word-for-word · English (minimizable)
पदच्छेदः
पृष्ठांकनं कुञ्चिकया सूचिं याचते
कालश्रेणी समयेन ।
प्रश्नाः सूचिम्
रूपयन्ति न विपर्ययः ॥१०॥
Word-for-word
| संस्कृतपदम् | Word-for-word English |
|---|---|
| पृष्ठांकनम् | pagination |
| कुञ्चिकया | by cursor |
| सूचिम् | index |
| याचते | demands |
| कालश्रेणी | time series |
| समयेन | by time |
| प्रश्नाः | queries |
| रूपयन्ति | shape |
| न विपर्ययः | not the reverse |
Gloss table
| पदम् | अर्थः / sense |
|---|---|
| पृष्ठांकनम् | pagination |
| कालश्रेणी | time-series |
English sense
Cursor pagination wants stable ordered indexes. Time-series wants time-first access paths. Let query patterns design indexes.
Context / topic
Topic: links to pagination and TSDB posts.
सन्धिः: प्रश्नः स्वामी; सूचिः सेवकः।
वृत्तमिति: एकादशाक्षराः पादाः।
श्लोकः ११ (अनुष्टुभ्)
एभिरनुक्रमणिका वेगसत्यसमन्विता ॥११॥
पदच्छेदः · Word-for-word · English (minimizable)
पदच्छेदः
प्रश्नः क्रमः विशिष्टता मितत्वं निर्माणं पञ्चकम् ।
एभिरनुक्रमणिका वेगसत्यसमन्विता ॥११॥
Word-for-word
| संस्कृतपदम् | Word-for-word English |
|---|---|
| प्रश्नः | query |
| क्रमः | column order |
| विशिष्टता | selectivity |
| मितत्वम् | fewness |
| निर्माणम् | build safety |
| पञ्चकम् | five-set |
Gloss table
| पदम् | अर्थः / sense |
|---|---|
| पञ्चकम् | query order selectivity budget build |
English sense
Five limbs: query-driven design, composite order, selectivity, index budget and safe builds.
Context / topic
Topic: checklist.
वृत्तमिति: ८-८-८-८।
श्लोकः १२ (अनुष्टुभ्)
मितं अङ्कुरं क्रियायोग्यं तन्त्रधर्मः स उच्यते ॥१२॥
पदच्छेदः · Word-for-word · English (minimizable)
पदच्छेदः
इत्यनुक्रमणिकाधर्मसारो वेगपथसमन्वितः ।
मितं अङ्कुरं क्रियायोग्यं तन्त्रधर्मः स उच्यते ॥१२॥
Word-for-word
| संस्कृतपदम् | Word-for-word English |
|---|---|
| इति | thus |
| अनुक्रमणिकाधर्मसारः | index-dharma essence |
| वेगपथः | fast path |
| मितम् | measured |
| अङ्कुरम् | sprout/index |
| क्रियायोग्यम् | operable |
| तन्त्रधर्मः | system dharma |
Gloss table
| पदम् | अर्थः / sense |
|---|---|
| मितं अङ्कुरम् | measured index |
| तन्त्रधर्मः | platform dharma |
English sense
Closing: plant only the indexes your real queries water.
Context / topic
Topic: close.
उपसंहारन्यायः: पश्य प्रश्नम्; ततः रोपय; अमितं मा रोपय।
वृत्तमिति: ८-८-८-८।
श्लोकसूची / Verse index
१. Why indexes
२. Query-first
३. Composite order
४. Budget
५. Partial/covering
६. Safe drop
७. Selectivity
८. Builds
९. FK indexes
१०. Pagination/TS link
११. Five limbs
१२. Close
सन्दर्भाः / References
- Prior: pagination 2026-09-22; migrations 2026-09-06; TSDB 2026-09-26.
- Domain: relational index design.
- English minimizable; Sanskrit-first.
- Style: no em dash; no Oxford comma in English clauses.