2009-05-29 8 views
2

Je migre un script MSSQL vers Oracle SQL et je n'arrive pas à comprendre ce qu'une ligne du script est en train de faire.Que fait cette déclaration SQL Oracle?

Je suis très nouveau dans SQL.

CREATE TABLE HA_BACKUP_PROCESSES 
(
    ID numeric (10, 0) NOT NULL , 
    PROCESS_ID numeric (10, 0) NOT NULL , 
    BACKUP_PROCESS_ID numeric (10, 0) NOT NULL , 
    CONSTRAINT HA_BCK_PROC_PK PRIMARY KEY (ID) 
     USING INDEX TABLESPACE userdata001 
) 

Dans le code ci-dessus, quelle est la déclaration 'USING INDEX TABLESPACE userdata001' faire?

+0

Serait-ce mieux pour serverfault? – jjnguy

Répondre

7

Cette clause permet la sélection du tablespace dans lequel l'indice associé à une contrainte UNIQUE ou PRIMARY KEY sera créé. Si non spécifié, default_tablespace est utilisé ou le tablespace par défaut de la base de données si default_tablespace est une chaîne vide

+1

Cela vous permet de stocker vos index séparés de vos données, sur certains médias comme super rapide SSD ou simplement des disques séparés pour un accès parallèle –

3

tablespaces sont rien de plus que des conteneurs logiques pour datafiles et index.

Lors de la mise en place d'une instance Oracle, vous devez définir vos tablespaces avant de pouvoir créer des fichiers de données. Ensuite, lorsque vous créez une table ou un index, vous devez spécifier l'espace de table dans lequel vous souhaitez créer le fichier de données ou accepter l'espace de table par défaut.

2

Il indique à la base de données de stocker les informations d'index dans l'espace de table nommé "userdata001".

A helpful explanation can be found here:

Un tablespace est une unité de stockage logique dans une base de données Oracle. C'est logique car un tablespace n'est pas visible dans le système de fichiers de la machine sur laquelle réside la base de données. Un espace de table, à son tour, consiste en au moins un fichier de données qui, à son tour, se trouvent physiquement dans le système de fichiers du serveur. Btw, un fichier de données appartient à exactement un espace de table. Chaque table, index et tout ce qui est stocké dans une base de données Oracle appartient à un espace table. Le tablespace crée le pont entre la base de données Oracle et le système de fichiers dans lequel les données de la table ou de l'index sont stockées.