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

Développement SQL Server Discussion :

Délai d'exécution d'une requête SQL la 1ère fois


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Juin 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant E-Business
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 76
    Points : 69
    Points
    69
    Par défaut Délai d'exécution d'une requête SQL la 1ère fois
    Bonjour!

    J’utilise la requête SQL suivante dans un script ASP, qui est en fait un moteur de recherche sur mon site web, accédant à une BD SQL Server en local :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CONT.TITRE, CONT.DESCRIPTION, CONT.URL, CONT.DATE_MODIF, CONT.IMAGE, PERT.RANK FROM RECHERCHE_CONTENU AS CONT INNER JOIN CONTAINSTABLE (RECHERCHE_CONTENU, CONTENU, 'FORMSOF(INFLECTIONAL, couche)') AS PERT ON CONT.ID = PERT.[KEY]WHERE id_site = 1 ORDER BY PERT.RANK DESC;
    Le problème est que lors d'une première recherche, ça bug, et je ne reçois aucun résultat. Mais quand je me branche directement sur ma BD SQL avec MS SQL management studio, et que je fais rouler la même requête, elle est très longue a exécuter, mais je reçois tout de même des résultats. Si je fais rouler une 2ème fois, c'est instantané comme résultat.

    Je crois donc que le problème, lorsque exécuter sur mon site, en est un de délai d'exécution. Il doit y avoir un index qui se crée la première fois?

    Ma question est, y a-t-il moyen de soit optimiser le délai d'exécution ASP-SQL, ou soit rafraîchir cet index d'une autre façon?

    Merci!!
    Stéphane Demers
    Spécialiste Web/e-commerce
    CaméléWeb - Vos couleurs, notre expertise Web.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Points : 1 216
    Points
    1 216
    Par défaut
    Salut

    D'après ce que tu décris tu as peut-être un index manquant. Il faudrait poster le plan d'exécution (voir les options d'exécution dans SSMS)

    Il est normal qu'une requête coûteuse mette plus de temps à la première exec car il faut que SQL Server lit les pages lues sur disques et les mets en mémoire avant de faire ses recherches.

    Je reprends un vieux post sinon : une application .NET a par un timeout défaut qu'il faut corriger dans le code (connection.CommandTimeout (30 sec par défaut) avec .NET). Je te conseille de le placer à 0 pour une attente infinie ou à une valeur bien plus grande.
    Emmanuel T.

  3. #3
    Membre du Club
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Juin 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant E-Business
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 76
    Points : 69
    Points
    69
    Par défaut
    En fait, je suis en ASP classique.

    Y a-t-il un équivalent?
    Stéphane Demers
    Spécialiste Web/e-commerce
    CaméléWeb - Vos couleurs, notre expertise Web.

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Il doit y avoir un index qui se crée la première fois?
    En aucun cas les index ne se créent automatiquement lors de l'exécution d'une requête SELECT ou DML (INSERT, UPDATE ou DELETE).
    C'est à vous ou à votre DBA de les rechercher, et de les tester.

    Il est normal qu'une requête coûteuse mette plus de temps à la première exec car il faut que SQL Server lit les pages lues sur disques et les mets en mémoire avant de faire ses recherches.
    Ce n'est pas tout à fait vrai : si les pages sont déjà dans le cache, parce qu'elles sont utilisées par une autre requête.
    Le temps de compilation de la requête peut aussi entrer en jeu.

    L'extension du timeout n'est pas une solution : je doute que vos visiteurs aient envie d'attendre 20 secondes le résultat d'une requête.
    Elle doit donc s'exécuter dans un temps minimal.
    Le fait qu'elle mette longtemps à s'exécuter sous SSMS aurait du vous mettre la puce à l'oreille

    Il nous faudrait donc pour vous aider la structure de vos tables (sans leurs données) et le plan de requête (CTRL+M dans SSMS avant d'exécuter la requête).

    @++

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Points : 1 216
    Points
    1 216
    Par défaut
    Il est normal qu'une requête coûteuse mette plus de temps à la première exec car il faut que SQL Server lit les pages lues sur disques et les mets en mémoire avant de faire ses recherches.
    Ce n'est pas tout à fait vrai : si les pages sont déjà dans le cache, parce qu'elles sont utilisées par une autre requête.
    Ce que j'ai dis était une généralité et tous les SGBD suivent cette règle. Et c'est typiquement ce qui est décrit par DJSteph. Il laisse ne aucun cas présager un cas de verrouillage, surtout quand la requête s'exécute instantanément la 2ieme fois.

    L'extension du timeout n'est pas une solution : je doute que vos visiteurs aient envie d'attendre 20 secondes le résultat d'une requête.
    Elle doit donc s'exécuter dans un temps minimal.
    Oui, ce n'est pas la solution et il vaut mieux travailler à l'amélioration de la requête. Mais parfois, dans la réalité, il n'est pas possible d'améliorer dans l'immédiat et il faut lui permettre d'aller jusqu'au bout. Il faut également savoir si on parle d'une appli utilisée par 50 ou 5000 utilsateurs... Il ne vaut mieux pas qu'une telle requête soit lancée par un grand nombre de personnes en simultané.

    Il nous faudrait donc pour vous aider la structure de vos tables (sans leurs données) et le plan de requête (CTRL+M dans SSMS avant d'exécuter la requête).
    Oui, plus de détails permettront de mieux comprendre et de répondre pertinement.
    Emmanuel T.

  6. #6
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Il laisse ne aucun cas présager un cas de verrouillage, surtout quand la requête s'exécute instantanément la 2ieme fois.
    Tout à fait d'accord, cela dit j'ai déjà eu quelques requêtes dont le temps de compilation excède le timeout.
    En l'exécutant sous SSMS une première fois, puis en l'exécutant ensuite depuis l'applicatif, la requête s'exécute très rapidement.
    Cela dit, dans le cas de DjSteph, c'est effectivement un "problème" de mise en cache.

    Dans l'attente du plan de requête

    @++

  7. #7
    Membre du Club
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Juin 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant E-Business
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 76
    Points : 69
    Points
    69
    Par défaut
    Merci pour vos réponses et désolé du délai!

    Voici donc le script de ma table principale dans laquelle les requêtes sont faites :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    USE [cameleshop]
    GO
    /****** Object:  Table [dbo].[RECHERCHE_CONTENU]    Script Date: 07/24/2011 19:58:11 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[RECHERCHE_CONTENU](
    	[ID_SITE] [int] NULL,
    	[ID] [int] IDENTITY(1,1) NOT NULL,
    	[TITRE] [nvarchar](100) NULL,
    	[DESCRIPTION] [nvarchar](500) NULL,
    	[CONTENU] [ntext] NULL,
    	[URL] [nvarchar](500) NULL,
    	[DATE_MODIF] [datetime] NULL,
    	[IMAGE] [nvarchar](150) NULL,
     CONSTRAINT [PK_RECHERCHE_CONTENU] PRIMARY KEY CLUSTERED 
    (
    	[ID] ASC
    )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
    GO
    /****** Object:  ForeignKey [FK_RECHERCHE_CONTENU_SITE_WEB]    Script Date: 07/24/2011 19:58:11 ******/
    ALTER TABLE [dbo].[RECHERCHE_CONTENU]  WITH CHECK ADD  CONSTRAINT [FK_RECHERCHE_CONTENU_SITE_WEB] FOREIGN KEY([ID_SITE])
    REFERENCES [dbo].[SITE_WEB] ([id_site])
    ON UPDATE CASCADE
    ON DELETE CASCADE
    GO
    ALTER TABLE [dbo].[RECHERCHE_CONTENU] CHECK CONSTRAINT [FK_RECHERCHE_CONTENU_SITE_WEB]
    GO
    et voici le plan de requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
     
    <?xml version="1.0" encoding="utf-16"?>
    <ShowPlanXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.1" Build="10.50.1600.1" xmlns="http://schemas.microsoft.com/sqlserver/2004/07/showplan">
      <BatchSequence>
        <Batch>
          <Statements>
            <StmtSimple StatementCompId="1" StatementEstRows="4.39286" StatementId="1" StatementOptmLevel="FULL" StatementOptmEarlyAbortReason="GoodEnoughPlanFound" StatementSubTreeCost="0.131222" StatementText="SELECT CONT.TITRE, CONT.DESCRIPTION, CONT.URL, CONT.DATE_MODIF, CONT.IMAGE, PERT.RANK FROM RECHERCHE_CONTENU AS CONT INNER JOIN CONTAINSTABLE (RECHERCHE_CONTENU, CONTENU, 'FORMSOF(INFLECTIONAL, tissu)') AS PERT ON CONT.ID = PERT.[KEY]WHERE id_site = 1 ORDER BY PERT.RANK DESC;" StatementType="SELECT" QueryHash="0x12ED67A5C9B68DB5" QueryPlanHash="0xB74E5ABCA9A1DB2C">
              <StatementSetOptions ANSI_NULLS="true" ANSI_PADDING="true" ANSI_WARNINGS="true" ARITHABORT="true" CONCAT_NULL_YIELDS_NULL="true" NUMERIC_ROUNDABORT="false" QUOTED_IDENTIFIER="true" />
              <QueryPlan DegreeOfParallelism="0" MemoryGrant="1312" CachedPlanSize="48" CompileTime="31833" CompileCPU="844" CompileMemory="312">
                <RelOp AvgRowSize="1279" EstimateCPU="0.000115911" EstimateIO="0.0112613" EstimateRebinds="0" EstimateRewinds="0" EstimateRows="4.39286" LogicalOp="Sort" NodeId="0" Parallel="false" PhysicalOp="Sort" EstimatedTotalSubtreeCost="0.131222">
                  <OutputList>
                    <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="TITRE" />
                    <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="DESCRIPTION" />
                    <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="URL" />
                    <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="DATE_MODIF" />
                    <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="IMAGE" />
                    <ColumnReference Column="Expr1006" />
                  </OutputList>
                  <MemoryFractions Input="1" Output="1" />
                  <RunTimeInformation>
                    <RunTimeCountersPerThread Thread="0" ActualRebinds="1" ActualRewinds="0" ActualRows="8" ActualEndOfScans="1" ActualExecutions="1" />
                  </RunTimeInformation>
                  <Sort Distinct="false">
                    <OrderBy>
                      <OrderByColumn Ascending="false">
                        <ColumnReference Column="Expr1006" />
                      </OrderByColumn>
                    </OrderBy>
                    <RelOp AvgRowSize="1279" EstimateCPU="0.066764" EstimateIO="0" EstimateRebinds="0" EstimateRewinds="0" EstimateRows="4.39286" LogicalOp="Inner Join" NodeId="1" Parallel="false" PhysicalOp="Hash Match" EstimatedTotalSubtreeCost="0.119845">
                      <OutputList>
                        <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="TITRE" />
                        <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="DESCRIPTION" />
                        <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="URL" />
                        <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="DATE_MODIF" />
                        <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="IMAGE" />
                        <ColumnReference Column="Expr1006" />
                      </OutputList>
                      <MemoryFractions Input="0" Output="0" />
                      <RunTimeInformation>
                        <RunTimeCountersPerThread Thread="0" ActualRows="8" ActualEndOfScans="1" ActualExecutions="1" />
                      </RunTimeInformation>
                      <Hash>
                        <DefinedValues />
                        <HashKeysBuild>
                          <ColumnReference Database="[cameleshop]" Schema="[sys]" Table="[fulltext_index_docidmap_421576540]" Column="docid" />
                        </HashKeysBuild>
                        <HashKeysProbe>
                          <ColumnReference Table="[FulltextMatch]" Column="docid" />
                        </HashKeysProbe>
                        <ProbeResidual>
                          <ScalarOperator ScalarString="[cameleshop].[sys].[fulltext_index_docidmap_421576540].[docid]=FulltextMatch.[docid]">
                            <Compare CompareOp="EQ">
                              <ScalarOperator>
                                <Identifier>
                                  <ColumnReference Database="[cameleshop]" Schema="[sys]" Table="[fulltext_index_docidmap_421576540]" Column="docid" />
                                </Identifier>
                              </ScalarOperator>
                              <ScalarOperator>
                                <Identifier>
                                  <ColumnReference Table="[FulltextMatch]" Column="docid" />
                                </Identifier>
                              </ScalarOperator>
                            </Compare>
                          </ScalarOperator>
                        </ProbeResidual>
                        <RelOp AvgRowSize="1283" EstimateCPU="0.000233465" EstimateIO="0" EstimateRebinds="0" EstimateRewinds="0" EstimateRows="55.8528" LogicalOp="Inner Join" NodeId="2" Parallel="false" PhysicalOp="Nested Loops" EstimatedTotalSubtreeCost="0.0462996">
                          <OutputList>
                            <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="TITRE" />
                            <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="DESCRIPTION" />
                            <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="URL" />
                            <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="DATE_MODIF" />
                            <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="IMAGE" />
                            <ColumnReference Database="[cameleshop]" Schema="[sys]" Table="[fulltext_index_docidmap_421576540]" Column="docid" />
                          </OutputList>
                          <RunTimeInformation>
                            <RunTimeCountersPerThread Thread="0" ActualRows="54" ActualEndOfScans="1" ActualExecutions="1" />
                          </RunTimeInformation>
                          <NestedLoops Optimized="false" WithUnorderedPrefetch="true">
                            <OuterReferences>
                              <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="ID" />
                              <ColumnReference Column="Expr1010" />
                            </OuterReferences>
                            <RelOp AvgRowSize="1283" EstimateCPU="0.0009919" EstimateIO="0.0327546" EstimateRebinds="0" EstimateRewinds="0" EstimateRows="55.8528" LogicalOp="Clustered Index Scan" NodeId="4" Parallel="false" PhysicalOp="Clustered Index Scan" EstimatedTotalSubtreeCost="0.0337465" TableCardinality="759">
                              <OutputList>
                                <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="ID" />
                                <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="TITRE" />
                                <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="DESCRIPTION" />
                                <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="URL" />
                                <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="DATE_MODIF" />
                                <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="IMAGE" />
                              </OutputList>
                              <RunTimeInformation>
                                <RunTimeCountersPerThread Thread="0" ActualRows="54" ActualEndOfScans="1" ActualExecutions="1" />
                              </RunTimeInformation>
                              <IndexScan Ordered="false" ForcedIndex="false" NoExpandHint="false">
                                <DefinedValues>
                                  <DefinedValue>
                                    <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="ID" />
                                  </DefinedValue>
                                  <DefinedValue>
                                    <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="TITRE" />
                                  </DefinedValue>
                                  <DefinedValue>
                                    <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="DESCRIPTION" />
                                  </DefinedValue>
                                  <DefinedValue>
                                    <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="URL" />
                                  </DefinedValue>
                                  <DefinedValue>
                                    <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="DATE_MODIF" />
                                  </DefinedValue>
                                  <DefinedValue>
                                    <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="IMAGE" />
                                  </DefinedValue>
                                </DefinedValues>
                                <Object Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Index="[PK_RECHERCHE_CONTENU]" Alias="[CONT]" IndexKind="Clustered" />
                                <Predicate>
                                  <ScalarOperator ScalarString="[cameleshop].[dbo].[RECHERCHE_CONTENU].[ID_SITE] as [CONT].[ID_SITE]=(1)">
                                    <Compare CompareOp="EQ">
                                      <ScalarOperator>
                                        <Identifier>
                                          <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="ID_SITE" />
                                        </Identifier>
                                      </ScalarOperator>
                                      <ScalarOperator>
                                        <Const ConstValue="(1)" />
                                      </ScalarOperator>
                                    </Compare>
                                  </ScalarOperator>
                                </Predicate>
                              </IndexScan>
                            </RelOp>
                            <RelOp AvgRowSize="15" EstimateCPU="0.0001581" EstimateIO="0.003125" EstimateRebinds="54.8528" EstimateRewinds="0" EstimateRows="1" LogicalOp="Index Seek" NodeId="5" Parallel="false" PhysicalOp="Index Seek" EstimatedTotalSubtreeCost="0.0119553" TableCardinality="34171">
                              <OutputList>
                                <ColumnReference Database="[cameleshop]" Schema="[sys]" Table="[fulltext_index_docidmap_421576540]" Column="docid" />
                              </OutputList>
                              <RunTimeInformation>
                                <RunTimeCountersPerThread Thread="0" ActualRows="54" ActualEndOfScans="0" ActualExecutions="54" />
                              </RunTimeInformation>
                              <IndexScan Ordered="true" ScanDirection="FORWARD" ForcedIndex="false" ForceSeek="false" NoExpandHint="false">
                                <DefinedValues>
                                  <DefinedValue>
                                    <ColumnReference Database="[cameleshop]" Schema="[sys]" Table="[fulltext_index_docidmap_421576540]" Column="docid" />
                                  </DefinedValue>
                                </DefinedValues>
                                <Object Database="[cameleshop]" Schema="[sys]" Table="[fulltext_index_docidmap_421576540]" Index="[i2]" IndexKind="NonClustered" />
                                <SeekPredicates>
                                  <SeekPredicateNew>
                                    <SeekKeys>
                                      <Prefix ScanType="EQ">
                                        <RangeColumns>
                                          <ColumnReference Database="[cameleshop]" Schema="[sys]" Table="[fulltext_index_docidmap_421576540]" Column="ftkey" />
                                        </RangeColumns>
                                        <RangeExpressions>
                                          <ScalarOperator ScalarString="[cameleshop].[dbo].[RECHERCHE_CONTENU].[ID] as [CONT].[ID]">
                                            <Identifier>
                                              <ColumnReference Database="[cameleshop]" Schema="[dbo]" Table="[RECHERCHE_CONTENU]" Alias="[CONT]" Column="ID" />
                                            </Identifier>
                                          </ScalarOperator>
                                        </RangeExpressions>
                                      </Prefix>
                                    </SeekKeys>
                                  </SeekPredicateNew>
                                </SeekPredicates>
                              </IndexScan>
                            </RelOp>
                          </NestedLoops>
                        </RelOp>
                        <RelOp AvgRowSize="19" EstimateCPU="0.0001144" EstimateIO="0" EstimateRebinds="0" EstimateRewinds="0" EstimateRows="104" LogicalOp="Aggregate" NodeId="6" Parallel="false" PhysicalOp="Stream Aggregate" EstimatedTotalSubtreeCost="0.0067786">
                          <OutputList>
                            <ColumnReference Table="[FulltextMatch]" Column="docid" />
                            <ColumnReference Column="Expr1006" />
                          </OutputList>
                          <RunTimeInformation>
                            <RunTimeCountersPerThread Thread="0" ActualRows="104" ActualEndOfScans="1" ActualExecutions="1" />
                          </RunTimeInformation>
                          <StreamAggregate>
                            <DefinedValues>
                              <DefinedValue>
                                <ColumnReference Column="Expr1006" />
                                <ScalarOperator ScalarString="MAX([Expr1005])">
                                  <Aggregate AggType="MAX" Distinct="false">
                                    <ScalarOperator>
                                      <Identifier>
                                        <ColumnReference Column="Expr1005" />
                                      </Identifier>
                                    </ScalarOperator>
                                  </Aggregate>
                                </ScalarOperator>
                              </DefinedValue>
                            </DefinedValues>
                            <GroupBy>
                              <ColumnReference Table="[FulltextMatch]" Column="docid" />
                            </GroupBy>
                            <RelOp AvgRowSize="19" EstimateCPU="0.0001144" EstimateIO="0" EstimateRebinds="0" EstimateRewinds="0" EstimateRows="104" LogicalOp="Aggregate" NodeId="7" Parallel="false" PhysicalOp="Stream Aggregate" EstimatedTotalSubtreeCost="0.0066642">
                              <OutputList>
                                <ColumnReference Table="[FulltextMatch]" Column="docid" />
                                <ColumnReference Column="Expr1005" />
                              </OutputList>
                              <RunTimeInformation>
                                <RunTimeCountersPerThread Thread="0" ActualRows="104" ActualEndOfScans="1" ActualExecutions="1" />
                              </RunTimeInformation>
                              <StreamAggregate>
                                <DefinedValues>
                                  <DefinedValue>
                                    <ColumnReference Column="Expr1005" />
                                    <ScalarOperator ScalarString="MAX([Expr1007])">
                                      <Aggregate AggType="MAX" Distinct="false">
                                        <ScalarOperator>
                                          <Identifier>
                                            <ColumnReference Column="Expr1007" />
                                          </Identifier>
                                        </ScalarOperator>
                                      </Aggregate>
                                    </ScalarOperator>
                                  </DefinedValue>
                                </DefinedValues>
                                <GroupBy>
                                  <ColumnReference Table="[FulltextMatch]" Column="docid" />
                                  <ColumnReference Table="[FulltextMatch]" Column="colid" />
                                </GroupBy>
                                <RelOp AvgRowSize="23" EstimateCPU="1.04E-05" EstimateIO="0" EstimateRebinds="0" EstimateRewinds="0" EstimateRows="104" LogicalOp="Compute Scalar" NodeId="8" Parallel="false" PhysicalOp="Compute Scalar" EstimatedTotalSubtreeCost="0.0065498">
                                  <OutputList>
                                    <ColumnReference Table="[FulltextMatch]" Column="docid" />
                                    <ColumnReference Table="[FulltextMatch]" Column="colid" />
                                    <ColumnReference Column="Expr1007" />
                                  </OutputList>
                                  <ComputeScalar>
                                    <DefinedValues>
                                      <DefinedValue>
                                        <ColumnReference Column="Expr1007" />
                                        <ScalarOperator ScalarString="containstablerank(FulltextMatch.[documentcount],FulltextMatch.[itemcount],FulltextMatch.[termfrequency],FulltextMatch.[documentlength])">
                                          <Intrinsic FunctionName="containstablerank">
                                            <ScalarOperator>
                                              <Identifier>
                                                <ColumnReference Table="[FulltextMatch]" Column="documentcount" />
                                              </Identifier>
                                            </ScalarOperator>
                                            <ScalarOperator>
                                              <Identifier>
                                                <ColumnReference Table="[FulltextMatch]" Column="itemcount" />
                                              </Identifier>
                                            </ScalarOperator>
                                            <ScalarOperator>
                                              <Identifier>
                                                <ColumnReference Table="[FulltextMatch]" Column="termfrequency" />
                                              </Identifier>
                                            </ScalarOperator>
                                            <ScalarOperator>
                                              <Identifier>
                                                <ColumnReference Table="[FulltextMatch]" Column="documentlength" />
                                              </Identifier>
                                            </ScalarOperator>
                                          </Intrinsic>
                                        </ScalarOperator>
                                      </DefinedValue>
                                    </DefinedValues>
                                    <RelOp AvgRowSize="47" EstimateCPU="0.0034144" EstimateIO="0.003125" EstimateRebinds="0" EstimateRewinds="0" EstimateRows="104" LogicalOp="Table-valued function" NodeId="9" Parallel="false" PhysicalOp="Table-valued function" EstimatedTotalSubtreeCost="0.0065394">
                                      <OutputList>
                                        <ColumnReference Table="[FulltextMatch]" Column="docid" />
                                        <ColumnReference Table="[FulltextMatch]" Column="colid" />
                                        <ColumnReference Table="[FulltextMatch]" Column="documentcount" />
                                        <ColumnReference Table="[FulltextMatch]" Column="documentlength" />
                                        <ColumnReference Table="[FulltextMatch]" Column="termfrequency" />
                                        <ColumnReference Table="[FulltextMatch]" Column="itemcount" />
                                      </OutputList>
                                      <RunTimeInformation>
                                        <RunTimeCountersPerThread Thread="0" ActualRebinds="1" ActualRewinds="0" ActualRows="104" ActualEndOfScans="1" ActualExecutions="1" />
                                      </RunTimeInformation>
                                      <TableValuedFunction>
                                        <DefinedValues>
                                          <DefinedValue>
                                            <ColumnReference Table="[FulltextMatch]" Column="docid" />
                                          </DefinedValue>
                                          <DefinedValue>
                                            <ColumnReference Table="[FulltextMatch]" Column="colid" />
                                          </DefinedValue>
                                          <DefinedValue>
                                            <ColumnReference Table="[FulltextMatch]" Column="documentcount" />
                                          </DefinedValue>
                                          <DefinedValue>
                                            <ColumnReference Table="[FulltextMatch]" Column="documentlength" />
                                          </DefinedValue>
                                          <DefinedValue>
                                            <ColumnReference Table="[FulltextMatch]" Column="termfrequency" />
                                          </DefinedValue>
                                          <DefinedValue>
                                            <ColumnReference Table="[FulltextMatch]" Column="itemcount" />
                                          </DefinedValue>
                                        </DefinedValues>
                                        <Object Table="[FulltextMatch]" />
                                        <ParameterList>
                                          <ScalarOperator ScalarString="(1)">
                                            <Const ConstValue="(1)" />
                                          </ScalarOperator>
                                          <ScalarOperator ScalarString="(1)">
                                            <Const ConstValue="(1)" />
                                          </ScalarOperator>
                                          <ScalarOperator ScalarString="(2)">
                                            <Const ConstValue="(2)" />
                                          </ScalarOperator>
                                          <ScalarOperator ScalarString="(0)">
                                            <Const ConstValue="(0)" />
                                          </ScalarOperator>
                                          <ScalarOperator ScalarString="NULL">
                                            <Const ConstValue="NULL" />
                                          </ScalarOperator>
                                          <ScalarOperator ScalarString="NULL">
                                            <Const ConstValue="NULL" />
                                          </ScalarOperator>
                                        </ParameterList>
                                      </TableValuedFunction>
                                    </RelOp>
                                  </ComputeScalar>
                                </RelOp>
                              </StreamAggregate>
                            </RelOp>
                          </StreamAggregate>
                        </RelOp>
                      </Hash>
                    </RelOp>
                  </Sort>
                </RelOp>
              </QueryPlan>
            </StmtSimple>
          </Statements>
        </Batch>
      </BatchSequence>
    </ShowPlanXML>
    Dites-moi si c'est bien ce qu'il vous faut?
    Et merci d'avance de votre aide!!
    Stéphane Demers
    Spécialiste Web/e-commerce
    CaméléWeb - Vos couleurs, notre expertise Web.

  8. #8
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 736
    Points : 52 447
    Points
    52 447
    Billets dans le blog
    5
    Par défaut
    Pouvez vous postez les index de cette table ?
    (au moins le résultat de EXEC sp_helpindex)

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  9. #9
    Membre du Club
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Juin 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant E-Business
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 76
    Points : 69
    Points
    69
    Par défaut
    Je ne suis pas certain de comment procéder pour sortir les index... Je fais EXEC sp_helpindex, mais où?

    Merci!
    Stéphane Demers
    Spécialiste Web/e-commerce
    CaméléWeb - Vos couleurs, notre expertise Web.

  10. #10
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    sur votre base de donnée... et pour la/les tables concernées
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EXEC sp_helpindex 'RECHERCHE_CONTENU'
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

  11. #11
    Membre du Club
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Juin 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant E-Business
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 76
    Points : 69
    Points
    69
    Par défaut
    Voilà!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    PK_RECHERCHE_CONTENU	clustered, unique, primary key located on PRIMARY	ID
    Est-ce correct?
    Stéphane Demers
    Spécialiste Web/e-commerce
    CaméléWeb - Vos couleurs, notre expertise Web.

  12. #12
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    Vous n'avez d'autres index sur la table que la PK CLUSTERED...
    Vu la nature de votre requête (FULLTEXT... et SELECT avec toutes les colonnes de la table) un autre index ne vous servirait ici à rien...

    Le problème viens du temps de compilation du plan d’exécution de la requête.

    Avez vous les services packs à jour de SQL SERVER 2008?
    Les derniers ont résolu plusieurs problèmes d'estimations de cardinalités sur les recherches FULLTEXT...


    Tenez nous au courant
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

  13. #13
    Membre du Club
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Juin 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant E-Business
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 76
    Points : 69
    Points
    69
    Par défaut
    J'avais installés les mises à jour, mais j'ai eu des lenteurs affreuses suite à ca. Je les ai donc désinstallé...

    Je vais me réessayer...
    Stéphane Demers
    Spécialiste Web/e-commerce
    CaméléWeb - Vos couleurs, notre expertise Web.

  14. #14
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,


    Qu'appelez vous "la première fois" ?

    que faites vous entre chaque première fois ? arrêtez-vous le serveur SQL ?

    Est-ce que votre serveur SQL a accès a internet ?

    Pouvez vous nous donner le temps de réponse de la "première fois" sous SSMS

  15. #15
    Membre du Club
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Juin 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant E-Business
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 76
    Points : 69
    Points
    69
    Par défaut
    Par "première fois", je fais référence à la première fois que le script est exécuté depuis un certain temps (un jour, ou plus, je n'ai pas remarqué).

    Ca prend 31 sec à exécuter "la première fois", 00:00:00 sec la 2ème fois, c'est instantané!
    Stéphane Demers
    Spécialiste Web/e-commerce
    CaméléWeb - Vos couleurs, notre expertise Web.

  16. #16
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Citation Envoyé par DjSteph Voir le message
    Ca prend 31 sec à exécuter
    30 secondes...
    il y a du timeout dans l'air....

    Le moteur full text, décharge le word breaker lorsque celui-ci n'est pas utilisé pendant un certain temps, et le recharge lors d'une requête full text. Lors du chargement, le il tente de vérifier la validité du certificat, ce qui requiert un connexion internet (vous n'avez pas précisé si votre serveur avait une connexion)

    Vous pouvez tester de connecter le serveur à internet (si vous en avez la possibilité, au moins pour tester), ou alors de désactiver la vérification du certificat :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sp_fulltext_service 'verify_signature', 0;

  17. #17
    Membre du Club
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Juin 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant E-Business
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 76
    Points : 69
    Points
    69
    Par défaut
    J'ai essayé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sp_fulltext_service 'verify_signature', 0;SELECT CONT.TITRE, CONT.DESCRIPTION, CONT.URL, CONT.DATE_MODIF, CONT.IMAGE, PERT.RANK FROM RECHERCHE_CONTENU AS CONT INNER JOIN CONTAINSTABLE (RECHERCHE_CONTENU, CONTENU, 'FORMSOF(INFLECTIONAL, couche)') AS PERT ON CONT.ID = PERT.[KEY]WHERE id_site = 1 ORDER BY PERT.RANK DESC;
    et j'ai encore le timeout...

    Effectivement, MS SQL est accédé en local, je ne crois pas que ce soit ouvert vers l'extérieur. Est-ce que j'ai placé le code à la bonne place?
    Stéphane Demers
    Spécialiste Web/e-commerce
    CaméléWeb - Vos couleurs, notre expertise Web.

  18. #18
    Membre du Club
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Juin 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant E-Business
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 76
    Points : 69
    Points
    69
    Par défaut
    Quelqu'un, un expert peut me répondre?
    Est-ce que j'ai placé le code de aieeeuuuuu à la bonne place?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sp_fulltext_service 'verify_signature', 0;
    Stéphane Demers
    Spécialiste Web/e-commerce
    CaméléWeb - Vos couleurs, notre expertise Web.

  19. #19
    Membre du Club
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Juin 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant E-Business
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 76
    Points : 69
    Points
    69
    Par défaut
    J'ai mis à jour SQL au plus récent SP... aucun changement....

    Toute aide à propos de ce problème sera grandement très beaucoup beaucoup appréciée!
    Stéphane Demers
    Spécialiste Web/e-commerce
    CaméléWeb - Vos couleurs, notre expertise Web.

  20. #20
    Membre du Club
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Juin 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant E-Business
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 76
    Points : 69
    Points
    69
    Par défaut
    Allo????
    Stéphane Demers
    Spécialiste Web/e-commerce
    CaméléWeb - Vos couleurs, notre expertise Web.

Discussions similaires

  1. Problème d'exécution d'une requête sql sous java
    Par leshafid dans le forum Requêtes
    Réponses: 1
    Dernier message: 18/08/2010, 10h15
  2. exécution d'une requête SQL dans access
    Par skyarnangel dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/02/2009, 12h18
  3. Exécution d'une requête SQL qui affiche un message
    Par Platon93 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 29/11/2006, 17h15
  4. Assurer l'exécution d'une requête SQL
    Par condor_01 dans le forum JDBC
    Réponses: 4
    Dernier message: 11/08/2006, 12h23
  5. Erreur d'exécution d'une requête sql
    Par marceline dans le forum Oracle
    Réponses: 2
    Dernier message: 11/07/2006, 14h12

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