Salut Gilbert,

On Thu, 16 Nov 2000, Gilbert ROBERT wrote:

> C'est un peu hors sujet et veuillez m'en excuser MAIS j'en un truc sur le feu (pour 
>�tre poli) 
> et je ne suis pas un expert des grandes BD. Mes diverses tentatives se sont sold�es 
>par des �checs.
> 
> Voila j'ai 3 tables de plus de 3M d'entr�es sol_f, sol_i, sol_d
> 
>           Table "sol_f"
>  Attribute |   Type   | Modifier 
> -----------+----------+----------
>  id        | integer  | 
>  ref       | text     | 
>  sentpos   | smallint | 
>  wordpos   | text     | 
> 
> rmq: id n'est pas unique. Je pourrais le rendre unique mais cela d�placerai le 
>processing dans des scripts
> perl. C'est ce que je voulais changer. Me reposer sur l'optimisation de postgres 
>pour faire par la suite 
> des jointures et des requ�tes un peu plus compliqu�es entre les tables.
 
Quand tu dis pas unique, qu'est-ce que t'entends exactement? Tu en a
jusqu'a combien qui on le m�me id? Si tu en as beaucoup, �a peu expliquer
pour l'indexe ne marche pas. Normalement les optimiseurs ne tiennent en
compte d'un indexe que s'il porte sur un champ d�terminant et au cas ou
l'indexe ne se rebalance pas automatiquement, et qu'il n'est pas assez
frais, il est ignor�.

> et trois tables de plus 4M d'entr�es  main_index_f, main_index_d, main_index_i
> 
>         Table "main_index_f"
>  Attribute |    Type     | Modifier 
> -----------+-------------+----------
>  id        | integer     | not null
>  word      | varchar(50) | 
>  lem       | varchar(50) | 
>  pos       | varchar(10) | 
> 
> Mon probl�me est le temps que prend une requ�te aussi simple que:
>         select * from sol_f where id='3034';
> environ 3mn
> 
> Et je ne parle m�me pas de la simple requ�te:
> select sol_f.ref from sol_f,main_index_f where sol_f.id=main_index_f.id AND 
>main_index_f.word='emploi';
> 
> J'ai bien essay� de faire des index sur la colonne id p.e mais le temps de r�ponse 
>est toujours aussi long!
> La doc online est assez minimaliste (INDEX/CLUSTER) en ce qui concerne postgreSQL 
>autrement on tombe tout 
> de suite dans les docs Oracle !

cf. plus haut.

> Alors si qq � l'exp�rience et une id�e pour optimiser cela, je lui en serai 
>reconnaissant.
> Il me semblait que postgreSQL �tait optimis� pour les grandes tables (en tout cas 
>plus que mySQL). Les
> premiers essais � quelques milliers �taient bon mais la ce n'est plus acceptable.
> Vous pouvez me r�pondre en priv�, je ferai un r�sum� des r�ponses pour la communaut�.
> 
> Merci.
> 
> Gilbert.
> 
> 
> -- 
>                                |  UnixOnNous et Rejoignez le
> Gilbert ROBERT                 | "Groupe des Utilisateurs L�maniques de"
> ISSCO, University of Geneva    |     / /    (_)____   __  __ _  __  
> 40 bd pont d'arve              |    / /    / // __ \ / / / /| |/_/ 
> CH-1211 GENEVA 4               |   / /___ / // / / // /_/ /_>  <
> Tel: +41/22/705 8686           |  /_____//_//_/ /_//_____/ /_/\_\
> http://www.gilbert-robert.com  |      http://www.linux-gull.ch
> --
> http://www-internal.alphanet.ch/linux-leman/ avant de poser
> une question.
> 

                      \\\___///
                     \\  - -  //
                      (  @ @  )
+-------------------oOOo-(_)-oOOo------------------------------+
| Cedric Bapst            |      Home: +41(0)21 807 2530       |
| Le Clos C               |      Work: +41(0)21 631 8150       |
| CH-1174 Montherod       |      Fax : +41(0)21 631 8480       |
+-------------------------+-Oooo-------------------------------+
                     oooO   (   )
                    (   )    ) /
                     \ (    (_/
                      \_)

--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question.

Répondre à