begin process at 2010 02 10 00:28:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive SQL

 > 

Archives

 > 

Divers

 > 

Table énorme.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Table énorme.

mercredi 3 août 2005 à 12:49:57 | Table énorme.

kikoj

Salut,

J'ai une table qui contient 2 Millions 485 Milles et 467 Lignes (SQLServer 2000). Je ne vous parle pas des performances. Un "delete from where" à partir d'une application sur cette table engendre un TimeOut. Pour qu'un SELECT avec un WHERE fonctionne dans des délais acceptable il faut que j'index tous les champs. Je sais qu'une utilisation sauvage des index n'est pas conseillée. Mais tout de même j'ai essayé d'indexer tous les champs de cette table. Ainsi j'ai amélioré les perf pour les select mais pas pour les delete. Autre probléme il me reste quelque champs à indexé mais j'ai un message d'erreur du style "Could not allocate space for object ....... in  database ... because the PRIMARY File group is full". je ne sais vraiment pas quoi faire.

a+

mercredi 3 août 2005 à 23:28:54 | Re : Table énorme.

sim51

Membre Club
Salut,
J'ai une question un peu bête : es tu obligé de passé par sqlserveur ?? car il existe des bdd bcp plus rapide.
Sinon je sais que dans les optins des bdd, tu peux mettre que lorsque tu fais un delete, l'enregistrement est effacé de la bdd, mais pas physiquement ( dès fois on le retrouve même quand on fait un sélecte ) ce qui fait que le temps d'un delete est bcp plus court. Cependant cela oblige de faire un Vaccum de la bdd lorsqu'il y a personne (ou presque ) qui utilise la bdd ( vers 3 ou 4h du met par exemple ). Cependant je ne suis pas un adepte de sqlserveur, donc je ne pourria pas te dire si une telle option existe dessus.
Bonne continuation.

N'oubliez pas de cliquer sur réponse acceptée si la réponse vous convient !!!
lundi 22 août 2005 à 09:30:23 | Re : Table énorme.

inuyasha51

2,4 millions d'enregistrements, ca le fait. Je pense que SQL Server est capable de gerer ce genre de "grosses" tables. Ce qui m'intrigue, c'est que vous semblez avoir collé plein d'index sans vraiment de resultats probants. Vous dites avoir indexé tous les champs ... sans résultat ???
Votre table est-elle normalisée ? Ne pouvez-vous pas declarer une clé primaire plus performante sur quelques champs plutôt qu'une indexation globale ?
Comment avez-vous crée les index ?
Avez vous verifié le taux de fragmentation de la table ?
Pour info, en general, un Delete cible combien d'enregistrements ?

lundi 22 août 2005 à 12:07:09 | Re : Table énorme.

kikoj

La table est normalisée. Le probléme provient de l'existence de deux champs varchar de taille 1000. Pour les clés primaires et les indexs je crois qu'ils sont correctes.
Un delete cible en général dans les 100 lignes en moyenne. Le seul probléme avec le delete provient d'un cas ou il touche plus de 500000 lignes.


Cette discussion est classée dans : table, champs, where, delete, énorme


Répondre à ce message

Sujets en rapport avec ce message

delete et contrainte d'integrite ... [ par jimmy69 ] Bonjour a tous,Voila je dois realiser un projet sous sql serveur et un langage de script web ...j'en suis a l'analyse ...pas facile !bref, je vous exp Renseigner un champs d'une table par une variable [ par Rouk ] Bonjour, Je n'arrive pas a renseigner un champs d'une table par une variable. Exemple : Base1.Table1.Champ = MavariableJ'ai essaye avec un set, mais s éléiminatio des doublons : instruction delete avec jointure [ par overider ] Bonjour à tousje souhaite eliminer les doublons dans un table.J'ai d'abord rechercher les doublons (merci a kechia pour sa requette) puis je les ai st Pb déclaration dans curseurs imbriqués [ par falcon16 ] Bonjour à tous, je suis en train d'écrire une procédure PL/SQL pour lister tous les enregistrements présents dans toutes les tables de ma base et ains Lecture de la description de chaque champs d'une table dans une base SQL server 2000 [ par lambdacrash ] Bonjour, Quelle requête dois-je exécuter pour obtenir la description d'un champs nommé contenu dans une table (SQL)? Merci CREATE TABLE [ par captusite ] BonjourJe cherche a creer une table qui prendra comme nom la valeur 'NOM' de la table Articles pour la clause WHERE Id=@IdGrilleVoici ce que j'ai pour Ajout d'un description d'un champs pour access en sql [ par Jbs106 ] Salutationvoilà mon souci:Dans access, quand on visualise une table, miz à part le nom et le type du champs, il est possible d'ajouter un commentaire Liste des champs d'une table [ par drahcir ] Salut à tous,je chercher à récupérer la liste des champs d'une table (juste les noms). J'ai vu plusieurs choses à ce sujet : tables systèmes, procédur requete avec IF [ par gstrit ] Bonjour,J'aimerais faire une requete SQL avec un WHERE conditionel. Pour cela il faut une condition IF dans la requete.Je voudrais faire un truc du ge Comment sortir le nom et la valeur des champs d une table [ par mono_neurone ] Bonjour,j aurais voulu savoir s il est possible d ecrire une requete qui me sorte des lignes de deux colonnes reprennant respectivement : le nom du ch


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,156 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales