Могу ли я установить табличное пространство по умолчанию для Index и Tables?

В настоящее время по умолчанию create table и index DDLs будут размещать таблицы в MYDB_DATA_TABLE_SPACE, Я хотел бы указать другое табличное пространство по умолчанию для индексов из табличных данных, так что мне не нужно всегда явно упоминать об этом в моем CREATE index DDL. Возможно ли это?

ток:

Table -> MYDB_DATA_TABLE_SPACE

требуется:

Table -> MYDB_DATA_TABLE_SPACE
Index -> MYDB_INDX_TABLE_SPACE

2 ответов


извините, нет никакого способа сделать это.

табличное пространство по умолчанию может быть задано для каждого пользователя, но оно применяется ко всему созданию сегмента: таблицам, индексам, материализованным представлениям и т. д.

надеюсь, это поможет.


вы не можете указать другое табличное пространство по умолчанию для индексов и таблиц. Каждый пользователь получает только одно табличное пространство по умолчанию.

надеюсь, вы не пытаетесь поддерживать отдельные табличные пространства по соображениям производительности. Существует относительно распространенный миф о том, что можно повысить производительность путем хранения данных и индексов в отдельных табличных пространствах. Я лично не большой поклонник размещения индексов и данных в разных табличных пространствах-нет никаких различий в производительности, это ужасно маловероятно, что вы можете запустить приложение без табличного пространства индекса, поэтому нет никаких преимуществ для восстановления. Я понимаю, что это может обратиться к некоторым людям чувство организации, поэтому я не возражаю категорически.