Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Table énorme. [ Archives / Divers ] (kikoj)

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é 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...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.