---
title: "Tagairt innéacs múnla"
version: 6.0
locale: ga
source: https://docs.djangoproject.com/ga/6.0/ref/models/indexes/
canonical: https://djangodocs.dev/ga/6.0/ref/models/indexes/
---
# Tagairt innéacs múnla

Éascaíonn ranganna innéacsanna bunachar sonraí a chruthú. \<django.db.models.Options.indexes\>Is féidir iad a chur leis ag baint úsáide as an rogha: attr: Meta.Indexes \`. Míníonn an doiciméad seo na tagairtí API de:class: \`Innéacs lena n-áirítear na [roghanna innéacs](#index-options).

> **Tagairt a thabhairt do innéacsanna ionsuite**
>
> Sainmhínítear innéacsanna in django.db.models.indexes\`, ach ar mhaithe le háisiúlacht déantar iad a allmhairiú chuig: mod: django.db.models. Is é an coinbhinsiún caighdeánach ná ```ó samhlacha allmhairiúcháin django.db ``a úsáid agus tagairt a dhéanamh do na hinnéacsanna mar `samhlacha. <IndexClass>```.

## Roghanna Innéacs \`\`

#### `class Index(*expressions, fields=(), name=None, db_tablespace=None, opclasses=(), condition=None, include=None)`

Cruthaíonn innéacs (B-Tree) sa bhunachar sonraí.

### `léiritheach`

#### `Index.expressions`

Ligeann argóint seasaimh léirithe innéacsanna feidhmiúla a chruthú ar nathanna agus ar fheidhmeanna bunachar sonraí.

Mar shampla:

```
Index(Lower("title").desc(), "pub_date", name="lower_title_date_idx")
```

cruthaíonn innéacs ar luach íseal an réimse `title` in ord íslitheach agus an réimse `pub_date` san ord ardaitheach réamhshocraithe.

Sampla eile:

```
Index(F("height") * F("weight"), Round("weight"), name="calc_idx")
```

cruthaíonn innéacs ar thoradh na réimsí iolraithe `airde` agus `meách` agus an meách\` cruinn go dtí an sláimhir is gaire.

[`Index.name`](#django.db.models.Index.name) is required when using `*expressions`.

> **Srianta ar Oracle**
>
> Éilíonn Oracle go ndéanfar feidhmeanna dá dtagraítear in innéacs a mharcáil mar “DETERMINISTIC”. Ní bhailíochnaíonn Django é seo ach déanfaidh Oracle earráid. Ciallaíonn sé seo nach nglactar le feidhmeanna mar: class: Random () \<django.db.models.functions.Random\>.

> **Srianta ar PostgreSQL**
>
> Éilíonn PostgreSQL go ndéanfar feidhmeanna agus oibreoirí dá dtagraítear in innéacs a mharcálfar mar “IMMUTABLE”. Ní bhailíochnaíonn Django é seo ach déanfaidh PostgreSQL earráid. Ciallaíonn sé seo nach nglactar le feidhmeanna mar: class: Concat () \<django.db.models.functions.Concat\>.

> **MySQL agus MariaDB**
>
> Déantar neamhaird ar innéacsanna feidhmiúla le MySQL \<8.0.13 agus MariaDB mar ní thacaíonn ceachtar acu leo.

### réimsí \`\`

#### `Index.fields`

Liosta nó tuple d'ainm na réimsí ar teastaíonn an t-innéacs orthu.

De réir réamhshocraithe, cruthaítear innéacsanna le ord ardaitheach do gach colún. Chun innéacs a shainiú le hordú íslitheach do cholún, cuir hiphen roimh ainm an réimse.

Mar shampla ```Index (fields= ['ceannteideal', '-pub_date']) ``chruthódh SQL le``` (ceannteideal, pub\_date DESC) .

> **MariaDB**
>
> Ní thacaítear le hordú innéacs ar MariaDB \<10.8. Sa chás sin, cruthaítear innéacs íslitheach mar ghnáthinnéacs.

### ainm \`

#### `Index.name`

Ainm an innéacs. Mura gcuirtear ainm ar fáil, ginfidh Django ainm go huathoibríoch. Maidir le comhoiriúnacht le bunachair sonraí éagsúla, ní féidir ainmneacha innéacs a bheith níos faide ná 30 carachtar agus níor cheart tosú le huimhir (0-9) nó béim (\_).

> **Innéacsanna páirteach i ranganna bonn teibí**
>
> Ní mór duit ainm uathúil a shonrú i gcónaí le haghaidh innéacs. Mar sin, ní féidir leat innéacs páirteach a shonrú de ghnáth ar rang bonn teibí, ós rud é go ndéantar an ro \<django.db.models.Options.indexes\>gha: attr: Meta.Indexes \`oidhreachta de réir fo-aicmí, leis na luachanna céanna go díreach do na tréithe (lena n-áirítear \`\`ainm \`) gach uair. Chun oibriú timpeall ar imbhuailtí ainmneacha, d'fhéadfadh go mbeadh `'% (app_label) s'` agus `` `% (class) s' ``, ina gcuirtear lipéad aip íseal agus ainm aicme an tsamhail choincréite in ionad, faoi seach, ina ionad. Mar shampla Innéacs (fields= \['title'\], ainm = '% (app\_label) s\_% (class) s\_title\_index') .

### `db_tablespace`

#### `Index.db_tablespace`

Ainm an:doc: spás tábla bunachar sonraí le húsáid don innéacs seo. \</topics/db/tablespaces\> Maidir le hinnéacsanna réimse aonair, mura gcuirtear db\_tablespace\` ar fáil, cruthaítear an t-innéacs sa db\_tablespace\` sa réimse.

Má shonraítear: Attr: .field.db\_TableSpace (nó má úsáideann an t-innéacs réimsí iolracha), cruthaítear an t-innéacs i spás tábla a shonraítear in:attr: ~django.db.models.options.db\_TableSpace rogha aicme Meta\` an tsamhail. Mura socraítear ceachtar de na spásanna tábla sin, cruthaítear an t-innéacs san spás tábla céanna leis an tábla.

> **See also**
>
> Le haghaidh liosta de na hinnéacsanna sonracha PostgreSQL, féach:mod: django.contrib.postgres.indexes.

### `opclasses`

#### `Index.opclasses`

\< <https://www.postgresql.org/docs/current/indexes-opclass.html>\>Ainmneacha na ranganna oibreora PostgreSQL \_ le húsáid don innéacs seo. Má theastaíonn rang oibreora saincheaptha uait, ní mór duit ceann a sholáthar do gach réimse san innéacs.

Mar shampla, ```gIndex (name='json_index', fields= ['jsonfield'], opclasses= ['jsonb_path_ops']) ``cruthaíonn innéacs gin ar ``jsonfield``` ag baint úsáide as `jsonb_path_ops`.

Déantar neamhaird ar `opclasses` le haghaidh bunachair sonraí seachas PostgreSQL.

[`Index.name`](#django.db.models.Index.name) is required when using `opclasses`.

### `coinníoll`

#### `Index.condition`

Má tá an tábla an-mhór agus má dhíríonn d'fhiosrúcháin ar fho-thacar sraitheanna den chuid is mó, d'fhéadfadh sé a bheith úsáideach innéacs a shrianadh don fho-thacar sin. Sonraigh coinníoll mar a:class: ~django.db.models.q. Mar shampla, innéacsaíonn Condition=Q (pages\_\_gt=400) taifid le níos mó ná 400 leathanach.

[`Index.name`](#django.db.models.Index.name) is required when using `condition`.

> **Srianta ar PostgreSQL**
>
> Éilíonn PostgreSQL go ndéanfar feidhmeanna dá dtagraítear sa choinníoll a mharcáil mar IMMUTABLE. Ní bhailíochnaíonn Django é seo ach déanfaidh PostgreSQL earráid. Ciallaíonn sé seo nach nglactar le feidhmeanna mar: ref: date-functions agus:class: ~django.db.models.functions.concat. \<field-lookups\>Má stóráil tú dátaí in:class: ~django.db.Models.DateTimeField, d'fhéadfadh go gcaithfear an argóint `tzinfo` a sholáthar mar shlí eile d'fhéadfadh feidhm inathraithe a bheith mar thoradh ar an gcomparáid mar gheall ar an réitigh a dhéanann Django le haghaidh: lookups .

> **Srianta ar SQLite**
>
> Cuireann SQLite srianta ar an gcaoi ar féidir innéacs páirteach \< <https://www.sqlite.org/partialindex.html>\> a thógáil.

> **Oracle**
>
> Ní thacaíonn Oracle le hinnéacsanna páirteach. Ina áit sin, is féidir innéacsanna páirteach a aithris trí innéacsanna feidhmiúla a úsáid in éineacht le:class: ~django.db.Models.Expressions.case abairtí.

> **MySQL agus MariaDB**
>
> Déantar neamhaird ar an argóint `coinníoll` le MySQL agus MariaDB toisc nach dtacaíonn ceachtar le hinnéacsanna coinníollacha.

### san áireamh \`\`

#### `Index.include`

Liosta nó tuple d'ainmneacha na réimsí atá le cur san innéacs clúdaigh mar cholúin neamh-eochair. Ligeann sé seo scananna innéacs amháin a úsáid le haghaidh ceisteanna nach roghnaíonn ach réimsí san áireamh (:attr: ~index.include) agus ní scagann ach amháin de réir réimsí innéacsaithe (:attr: ~index.fields).

Mar shampla:

```
Index(name="covering_index", fields=["headline"], include=["pub_date"])
```

ceadóidh sé scagadh ar ```ceannlíne ``, ag roghnú `pub_date``` freisin, agus sonraí a thógáil ón innéacs amháin.

Beidh innéacs níos lú ag baint úsáide as include\` ná innéacs iolcholún a úsáid ach leis an míbhuntáiste nach féidir colúin neamh-eochracha a úsáid chun sórtáil nó scagadh.

Déantar neamhaird ar `include` do bhunachair sonraí seachas PostgreSQL.

[`Index.name`](#django.db.models.Index.name) is required when using `include`.

Féach doiciméadú PostgreSQL le haghaidh tuilleadh sonraí faoi innéacsanna a chlúdach \_.

> **Srianta ar PostgreSQL**
>
> \<django.contrib.postgres.indexes.GistIndex\>Tacaíonn PostgreSQL le clúdach B-Tree agus:class: Innéacsanna Gist . \<django.contrib.postgres.indexes.SpGistIndex\>Tacaíonn PostgreSQL 14+ le clúdach freisin: class: Innéacsanna SP-GIST .
