IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

[SQL] couper une table en deux


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 55
    Points : 43
    Points
    43
    Par défaut [SQL] couper une table en deux
    Bonjour, j'ai une table assez grosse et je souhaiterais la découper en 2.
    J'ai vu que l'on pouvait faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CREATE TABLE matable1 SELECT * from matable WHERE id <= 10000
    CREATE TABLE matable2 SELECT * from matable WHERE id > 10000
    Mais cette méthode est assez couteuse, et relativement longue.

    Y aurait il un moyen plus rapide de tronquer une table en 2?

    De plus, une autre question me vient?
    Quelle est la méthode la plus rapide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CREATE TABLE matable3 SELECT * from matable WHERE id <= 10000
    DELETE FROM matable WHERE id <= 10000
    OU
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CREATE TABLE matable1 SELECT * from matable WHERE id <= 10000
    CREATE TABLE matable2 SELECT * from matable WHERE id > 10000

  2. #2
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut Re: [SQL] couper une table en deux
    Citation Envoyé par irenee
    Bonjour, j'ai une table assez grosse et je souhaiterais la découper en 2.
    Quel en est l'intérêt ?
    Qu'appelles-tu "assez grosse" ?
    Quel SGBDR ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 55
    Points : 43
    Points
    43
    Par défaut
    En fait, je dois effectuer pour un projet de datawarehouse, un traitement "récursif", en gros, à chaque itération, le traitement s'effectue sur une base plus petite.
    Pour accroitre la vitesse de celui-ci, il est préférable que je divise en plusieurs domaines la base de départ, et refaire cette opération jusqu'a aboutir au résultat.
    J'appelle assez grosse, une table contenant plus de 100 Mo qui devra etre "parcouru" entièrement, si jamais je ne la coupe pas, pour chaque traitement.
    Mon SGBDR, je n'ai pas encore choisi mais ce sera soit MySQL, PostGreSQL, voir Oracle.

  4. #4
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    1) 100 Mo = tout petit
    2) Si c'est un problème d'accès, pourquoi ne pas créer un index qui va te donner un accès très rapide aux données voulues ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 55
    Points : 43
    Points
    43
    Par défaut
    Tout bien réfléchi et après plusieurs tests, je vais effectuer l'opération par des index.
    Merci Médiat.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Update sql, avec une table à deux colonnes ...
    Par dcz dans le forum Langage SQL
    Réponses: 8
    Dernier message: 04/04/2006, 18h06
  2. [PL/SQL] Charger une table dans une collection
    Par nosnoss dans le forum Oracle
    Réponses: 10
    Dernier message: 03/03/2005, 17h56
  3. comment filtrer une table avec deux criteres càd 2 colonnes
    Par athmane2dz dans le forum Bases de données
    Réponses: 7
    Dernier message: 28/07/2004, 15h25
  4. PL/SQL Partager une table PL/SQL... possible ?
    Par Yorglaa dans le forum PL/SQL
    Réponses: 35
    Dernier message: 16/02/2004, 08h56
  5. [SQL] Remplacer une table
    Par rstephane dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/05/2003, 17h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo