---
title: "Tablespaces"
version: 1.11
locale: id
source: https://docs.djangoproject.com/id/1.11/topics/db/tablespaces/
canonical: https://djangodocs.dev/id/1.11/topics/db/tablespaces/
---
# Tablespaces

Contoh umum untuk mengoptimalkan penampilan dalam sistem basisdata adalah menggunakan [tablespaces](https://en.wikipedia.org/wiki/Tablespace) untuk mengorganisir tata letak cakram.

> **Warning**
>
> Django tidak membuat tablespace untuk anda. Silahkan mengacu ke dokumentasi mesis basisdata anda untuk rincian di membuat dan mengelola tablespace.

## Mengumumkan tablespace untuk table

Sebuah tablespace dapat ditentukan untuk tabel dibangkitkan oleh model dengan menyokong pilihan [`db_tablespace`](/id/1.11/ref/models/options/#django.db.models.Options.db_tablespace) didalam `class Meta` model. Pilihan ini juga mempengaruhi tabel-tabel otomatis dibuat untuk [`ManyToManyField`](/id/1.11/ref/models/fields/#django.db.models.ManyToManyField) dalam model.

Anda dapat menggunakan pengaturan [`DEFAULT_TABLESPACE`](/id/1.11/ref/settings/#std-setting-DEFAULT_TABLESPACE) untuk menentukan nilai untuk [`db_tablespace`](/id/1.11/ref/models/options/#django.db.models.Options.db_tablespace). Ini berguna untuk mengatur tablespace untuk aplikasi Django siap-pakai dan aplikasi lain yang kodenya tidak dapat dikendalikan.

## Mengumumkan tablespace untuk indeks

Anda dapat melewatkan pilihan [`db_tablespace`](/id/1.11/ref/models/fields/#django.db.models.Field.db_tablespace) ke sebuah pembangun `Field` untuk menentukan tablespace lain untuk indeks kolom `Field`. Jika tidak ada indeks akan dibuat untuk kolom, pilihan diabaikan.

Anda dapat menggunakan pengaturan [`DEFAULT_INDEX_TABLESPACE`](/id/1.11/ref/settings/#std-setting-DEFAULT_INDEX_TABLESPACE) untuk menentukan nilai awalan untuk [`db_tablespace`](/id/1.11/ref/models/fields/#django.db.models.Field.db_tablespace).

Jika [`db_tablespace`](/id/1.11/ref/models/fields/#django.db.models.Field.db_tablespace) tidak ditentukan dan anda tidak menyetel [`DEFAULT_INDEX_TABLESPACE`](/id/1.11/ref/settings/#std-setting-DEFAULT_INDEX_TABLESPACE), indeks dibuat dalam tablespace sama seperti tabel-tabel.

## Sebuah contoh

```python
class TablespaceExample(models.Model):
    name = models.CharField(max_length=30, db_index=True, db_tablespace="indexes")
    data = models.CharField(max_length=255, db_index=True)
    edges = models.ManyToManyField(to="self", db_tablespace="indexes")

    class Meta:
        db_tablespace = "tables"
```

Dalam contoh ini, tabel-tabel dibangkitkan oleh model `TablespaceExample` (yaitu tabel model dan tabel many-to-many) akan disimpan dalam tablespace `table`. Indeks untuk bidang nama dan indeks-indeks pada tabel many-to-many akan disimpan dalam tablespace `indexes`. Bidang `data` akan juga membangkitkan sebuah indeks, tetapi tidak ada tablespace untuk itu ditentukan, jadi itu akan disimpan dalam tablespace model `tables` secara awalan.

## Dukungan basisdata

PostgreSQL dan Oracle mendukung tablespace. SQLite dan MySQL tidak.

Ketika anda menggunakan backend yang kekurangan dukungan untuk tablespace, Django mengabaikan semua pilihan terkait-tablespace.
