Bonjour,
J'utilise SQL2K SP3a. Voici mon soucis,
Je possedes une base qui contient une table avec plus de 2 millions de
tuples.
Cette table est utilisée pour enregistrer des evenements provenant de
plusieurs sources.
Tous les soirs à minuit je procéde automatiquement a une rotation (je ne
garde que les evenements des 30 derniers jours).
Ce qui correspond a quelque chose comme 60 000 tuples.
Etant donné que le serveur est déja chargé par d'autres applications,
je me retrouve avec des TimeOut à chaque fois.
Quel moyen puis-je mettre en place pour optimiser le DELETE ?
voici comment se compose ma table
Table Log {
Log_IDLOG GUID /*Identifiant de l'evenement*/
Log_IDVoix GUID /*Identifiant de la source sur
l'evenement a eu lieu*/
Log_DateEventMS Float /*Date en milliseconde (time_t) de
l'evenement*/
... (autres champs non interressant)
}
un index est présent sur la colonne Log_IDVoix
requete effectuée:
DELETE FROM Log WHERE Log_IDVoix='{monGuid}' AND Log_DateEventMS<=MaDate
Je ne sais pas trop vers quel chemin me tourné:
- amelioration des index ?
- optimisation par des commandes T-SQL
Il est question peut etre de supprimer le champs Log_IDLOG qui sers a
identifié un tuple et de se servir de la combinaison
Log_IDVoix+Log_DateEventMS à la place (2 evenements ne peuvent intervenir
la mem milliseconde pour une meme source) en ajoutant peut etre un index
complex sur se couple. Qu'en pensez vous ?
Merci pour toute l'aide que vous pourrez m'apporter.
Bonjour,
J'utilise SQL2K SP3a. Voici mon soucis,
Je possedes une base qui contient une table avec plus de 2 millions de
tuples.
Cette table est utilisée pour enregistrer des evenements provenant de
plusieurs sources.
Tous les soirs à minuit je procéde automatiquement a une rotation (je ne
garde que les evenements des 30 derniers jours).
Ce qui correspond a quelque chose comme 60 000 tuples.
Etant donné que le serveur est déja chargé par d'autres applications,
je me retrouve avec des TimeOut à chaque fois.
Quel moyen puis-je mettre en place pour optimiser le DELETE ?
voici comment se compose ma table
Table Log {
Log_IDLOG GUID /*Identifiant de l'evenement*/
Log_IDVoix GUID /*Identifiant de la source sur
l'evenement a eu lieu*/
Log_DateEventMS Float /*Date en milliseconde (time_t) de
l'evenement*/
... (autres champs non interressant)
}
un index est présent sur la colonne Log_IDVoix
requete effectuée:
DELETE FROM Log WHERE Log_IDVoix='{monGuid}' AND Log_DateEventMS<=MaDate
Je ne sais pas trop vers quel chemin me tourné:
- amelioration des index ?
- optimisation par des commandes T-SQL
Il est question peut etre de supprimer le champs Log_IDLOG qui sers a
identifié un tuple et de se servir de la combinaison
Log_IDVoix+Log_DateEventMS à la place (2 evenements ne peuvent intervenir
la mem milliseconde pour une meme source) en ajoutant peut etre un index
complex sur se couple. Qu'en pensez vous ?
Merci pour toute l'aide que vous pourrez m'apporter.
Bonjour,
J'utilise SQL2K SP3a. Voici mon soucis,
Je possedes une base qui contient une table avec plus de 2 millions de
tuples.
Cette table est utilisée pour enregistrer des evenements provenant de
plusieurs sources.
Tous les soirs à minuit je procéde automatiquement a une rotation (je ne
garde que les evenements des 30 derniers jours).
Ce qui correspond a quelque chose comme 60 000 tuples.
Etant donné que le serveur est déja chargé par d'autres applications,
je me retrouve avec des TimeOut à chaque fois.
Quel moyen puis-je mettre en place pour optimiser le DELETE ?
voici comment se compose ma table
Table Log {
Log_IDLOG GUID /*Identifiant de l'evenement*/
Log_IDVoix GUID /*Identifiant de la source sur
l'evenement a eu lieu*/
Log_DateEventMS Float /*Date en milliseconde (time_t) de
l'evenement*/
... (autres champs non interressant)
}
un index est présent sur la colonne Log_IDVoix
requete effectuée:
DELETE FROM Log WHERE Log_IDVoix='{monGuid}' AND Log_DateEventMS<=MaDate
Je ne sais pas trop vers quel chemin me tourné:
- amelioration des index ?
- optimisation par des commandes T-SQL
Il est question peut etre de supprimer le champs Log_IDLOG qui sers a
identifié un tuple et de se servir de la combinaison
Log_IDVoix+Log_DateEventMS à la place (2 evenements ne peuvent intervenir
la mem milliseconde pour une meme source) en ajoutant peut etre un index
complex sur se couple. Qu'en pensez vous ?
Merci pour toute l'aide que vous pourrez m'apporter.
Bonjour,
J'utilise SQL2K SP3a. Voici mon soucis,
Je possedes une base qui contient une table avec plus de 2 millions de
tuples.
Cette table est utilisée pour enregistrer des evenements provenant de
plusieurs sources.
Tous les soirs à minuit je procéde automatiquement a une rotation (je ne
garde que les evenements des 30 derniers jours).
Ce qui correspond a quelque chose comme 60 000 tuples.
Etant donné que le serveur est déja chargé par d'autres applications,
je me retrouve avec des TimeOut à chaque fois.
Quel moyen puis-je mettre en place pour optimiser le DELETE ?
voici comment se compose ma table
Table Log {
Log_IDLOG GUID /*Identifiant de l'evenement*/
Log_IDVoix GUID /*Identifiant de la source sur
l'evenement a eu lieu*/
Log_DateEventMS Float /*Date en milliseconde (time_t) de
l'evenement*/
... (autres champs non interressant)
}
un index est présent sur la colonne Log_IDVoix
requete effectuée:
DELETE FROM Log WHERE Log_IDVoix='{monGuid}' AND Log_DateEventMS<=MaDate
Je ne sais pas trop vers quel chemin me tourné:
- amelioration des index ?
- optimisation par des commandes T-SQL
Il est question peut etre de supprimer le champs Log_IDLOG qui sers a
identifié un tuple et de se servir de la combinaison
Log_IDVoix+Log_DateEventMS à la place (2 evenements ne peuvent intervenir
la mem milliseconde pour une meme source) en ajoutant peut etre un index
complex sur se couple. Qu'en pensez vous ?
Merci pour toute l'aide que vous pourrez m'apporter.
Bonjour,
J'utilise SQL2K SP3a. Voici mon soucis,
Je possedes une base qui contient une table avec plus de 2 millions de
tuples.
Cette table est utilisée pour enregistrer des evenements provenant de
plusieurs sources.
Tous les soirs à minuit je procéde automatiquement a une rotation (je ne
garde que les evenements des 30 derniers jours).
Ce qui correspond a quelque chose comme 60 000 tuples.
Etant donné que le serveur est déja chargé par d'autres applications,
je me retrouve avec des TimeOut à chaque fois.
Quel moyen puis-je mettre en place pour optimiser le DELETE ?
voici comment se compose ma table
Table Log {
Log_IDLOG GUID /*Identifiant de l'evenement*/
Log_IDVoix GUID /*Identifiant de la source sur
l'evenement a eu lieu*/
Log_DateEventMS Float /*Date en milliseconde (time_t) de
l'evenement*/
... (autres champs non interressant)
}
un index est présent sur la colonne Log_IDVoix
requete effectuée:
DELETE FROM Log WHERE Log_IDVoix='{monGuid}' AND Log_DateEventMS<=MaDate
Je ne sais pas trop vers quel chemin me tourné:
- amelioration des index ?
- optimisation par des commandes T-SQL
Il est question peut etre de supprimer le champs Log_IDLOG qui sers a
identifié un tuple et de se servir de la combinaison
Log_IDVoix+Log_DateEventMS à la place (2 evenements ne peuvent intervenir
la mem milliseconde pour une meme source) en ajoutant peut etre un index
complex sur se couple. Qu'en pensez vous ?
Merci pour toute l'aide que vous pourrez m'apporter.
Bonjour,
J'utilise SQL2K SP3a. Voici mon soucis,
Je possedes une base qui contient une table avec plus de 2 millions de
tuples.
Cette table est utilisée pour enregistrer des evenements provenant de
plusieurs sources.
Tous les soirs à minuit je procéde automatiquement a une rotation (je ne
garde que les evenements des 30 derniers jours).
Ce qui correspond a quelque chose comme 60 000 tuples.
Etant donné que le serveur est déja chargé par d'autres applications,
je me retrouve avec des TimeOut à chaque fois.
Quel moyen puis-je mettre en place pour optimiser le DELETE ?
voici comment se compose ma table
Table Log {
Log_IDLOG GUID /*Identifiant de l'evenement*/
Log_IDVoix GUID /*Identifiant de la source sur
l'evenement a eu lieu*/
Log_DateEventMS Float /*Date en milliseconde (time_t) de
l'evenement*/
... (autres champs non interressant)
}
un index est présent sur la colonne Log_IDVoix
requete effectuée:
DELETE FROM Log WHERE Log_IDVoix='{monGuid}' AND Log_DateEventMS<=MaDate
Je ne sais pas trop vers quel chemin me tourné:
- amelioration des index ?
- optimisation par des commandes T-SQL
Il est question peut etre de supprimer le champs Log_IDLOG qui sers a
identifié un tuple et de se servir de la combinaison
Log_IDVoix+Log_DateEventMS à la place (2 evenements ne peuvent intervenir
la mem milliseconde pour une meme source) en ajoutant peut etre un index
complex sur se couple. Qu'en pensez vous ?
Merci pour toute l'aide que vous pourrez m'apporter.
Bonjour,
J'utilise SQL2K SP3a. Voici mon soucis,
Je possedes une base qui contient une table avec plus de 2 millions de
tuples.
Cette table est utilisée pour enregistrer des evenements provenant de
plusieurs sources.
Tous les soirs à minuit je procéde automatiquement a une rotation (je ne
garde que les evenements des 30 derniers jours).
Ce qui correspond a quelque chose comme 60 000 tuples.
Etant donné que le serveur est déja chargé par d'autres applications,
je me retrouve avec des TimeOut à chaque fois.
Quel moyen puis-je mettre en place pour optimiser le DELETE ?
voici comment se compose ma table
Table Log {
Log_IDLOG GUID /*Identifiant de l'evenement*/
Log_IDVoix GUID /*Identifiant de la source sur
l'evenement a eu lieu*/
Log_DateEventMS Float /*Date en milliseconde (time_t) de
l'evenement*/
... (autres champs non interressant)
}
un index est présent sur la colonne Log_IDVoix
requete effectuée:
DELETE FROM Log WHERE Log_IDVoix='{monGuid}' AND Log_DateEventMS<=MaDate
Je ne sais pas trop vers quel chemin me tourné:
- amelioration des index ?
- optimisation par des commandes T-SQL
Il est question peut etre de supprimer le champs Log_IDLOG qui sers a
identifié un tuple et de se servir de la combinaison
Log_IDVoix+Log_DateEventMS à la place (2 evenements ne peuvent intervenir
la mem milliseconde pour une meme source) en ajoutant peut etre un index
complex sur se couple. Qu'en pensez vous ?
Merci pour toute l'aide que vous pourrez m'apporter.
Bonjour,
J'utilise SQL2K SP3a. Voici mon soucis,
Je possedes une base qui contient une table avec plus de 2 millions de
tuples.
Cette table est utilisée pour enregistrer des evenements provenant de
plusieurs sources.
Tous les soirs à minuit je procéde automatiquement a une rotation (je ne
garde que les evenements des 30 derniers jours).
Ce qui correspond a quelque chose comme 60 000 tuples.
Etant donné que le serveur est déja chargé par d'autres applications,
je me retrouve avec des TimeOut à chaque fois.
Quel moyen puis-je mettre en place pour optimiser le DELETE ?
voici comment se compose ma table
Table Log {
Log_IDLOG GUID /*Identifiant de l'evenement*/
Log_IDVoix GUID /*Identifiant de la source sur
l'evenement a eu lieu*/
Log_DateEventMS Float /*Date en milliseconde (time_t) de
l'evenement*/
... (autres champs non interressant)
}
un index est présent sur la colonne Log_IDVoix
requete effectuée:
DELETE FROM Log WHERE Log_IDVoix='{monGuid}' AND Log_DateEventMS<=MaDate
Je ne sais pas trop vers quel chemin me tourné:
- amelioration des index ?
- optimisation par des commandes T-SQL
Il est question peut etre de supprimer le champs Log_IDLOG qui sers a
identifié un tuple et de se servir de la combinaison
Log_IDVoix+Log_DateEventMS à la place (2 evenements ne peuvent intervenir
la mem milliseconde pour une meme source) en ajoutant peut etre un index
complex sur se couple. Qu'en pensez vous ?
Merci pour toute l'aide que vous pourrez m'apporter.
Bonjour,
J'utilise SQL2K SP3a. Voici mon soucis,
Je possedes une base qui contient une table avec plus de 2 millions de
tuples.
Cette table est utilisée pour enregistrer des evenements provenant de
plusieurs sources.
Tous les soirs à minuit je procéde automatiquement a une rotation (je ne
garde que les evenements des 30 derniers jours).
Ce qui correspond a quelque chose comme 60 000 tuples.
Etant donné que le serveur est déja chargé par d'autres applications,
je me retrouve avec des TimeOut à chaque fois.
Quel moyen puis-je mettre en place pour optimiser le DELETE ?
voici comment se compose ma table
Table Log {
Log_IDLOG GUID /*Identifiant de l'evenement*/
Log_IDVoix GUID /*Identifiant de la source sur
l'evenement a eu lieu*/
Log_DateEventMS Float /*Date en milliseconde (time_t) de
l'evenement*/
... (autres champs non interressant)
}
un index est présent sur la colonne Log_IDVoix
requete effectuée:
DELETE FROM Log WHERE Log_IDVoix='{monGuid}' AND Log_DateEventMS<=MaDate
Je ne sais pas trop vers quel chemin me tourné:
- amelioration des index ?
- optimisation par des commandes T-SQL
Il est question peut etre de supprimer le champs Log_IDLOG qui sers a
identifié un tuple et de se servir de la combinaison
Log_IDVoix+Log_DateEventMS à la place (2 evenements ne peuvent intervenir
la mem milliseconde pour une meme source) en ajoutant peut etre un index
complex sur se couple. Qu'en pensez vous ?
Merci pour toute l'aide que vous pourrez m'apporter.