Vous n'êtes pas identifié(e).
Pages : 1
merci bien gleu et arthurr c'est exactement les réponses que je cherchais
CREATE TABLE tt (id int, fk1 int, val1 char(100));
WITH tmp AS (SELECT generate_series(1, 1000000) AS val)
INSERT INTO tt SELECT val, 1, val FROM tmp;
analyze;
EXPLAIN analyze
SELECT *
FROM tt WHERE val1 = '100';
"Seq Scan on tt (cost=0.00..29742.00 rows=1 width=109) (actual time=0.144..340.945 rows=1 loops=1)"
" Filter: (val1 = '100'::bpchar)"
"Total runtime: 341.004 ms"
CREATE INDEX idx_tt ON tt (fk1, val1);
analyze;
EXPLAIN analyze
SELECT *
FROM tt WHERE val1 = '100';
"Seq Scan on tt (cost=0.00..29742.00 rows=1 width=109) (actual time=0.170..260.504 rows=1 loops=1)"
" Filter: (val1 = '100'::bpchar)"
"Total runtime: 260.575 ms"
DROP INDEX idx_tt;
CREATE INDEX idx_tt ON tt (val1);
analyze;
EXPLAIN analyze
SELECT *
FROM tt WHERE val1 = '100';
"Index Scan using idx_tt on tt (cost=0.00..8.92 rows=1 width=109) (actual time=0.460..0.463 rows=1 loops=1)"
" Index Cond: (val1 = '100'::bpchar)"
"Total runtime: 0.517 ms"
à priori seul l'index non composé peut être utilisé pour mon cas
cela semble donc en contradiction avec http://use-the-index-luke.com/fr/sql...dex-concatenes
voir Figure 2.1. Index concaténé
Bonjour, j'aurais une question sur l'optimisation des index
j'ai une table avec 3 champs
le premier est la clef primaire
le deuxième n'a que des 1 dedans
le troisième à des valeurs diverses
sur cette table il y a un index unique composé sur le deuxième + troisième champs
sur cette table je fait des select where champ3 =
1) comme l'index composé n'a que des 1 dans sont premier champ peut il etre utilisé ?
2) l'ajout d'un index sur le troisième champs est il intéressant?
3) Que j'ajoute ou pas le second index, un
EXPLAIN ANALYZE de ma requête ne donne pas d'"Index Scan using" ni de "Index Cond", comment cela se fait il ?
Merci d'avance
insufficient privilege sur pg_stat_activity (pg_stat_activity =affichage les Requêtes passées via la supervision de PgAdmin)
Bonjour,
Avec PgAdmin III et PostgreSQL en 9.1.9 avec le super utilisateur postgres j’ai bien accès en supervision aux SQL des requêtes passé dans « Outil » « Etat du serveur » colonne « Requête »
(cela est équivalent à faire : select * from pg_stat_activity;)
via le super utilisateur postgres j'ai donc fait:
GRANT SELECT ON TABLE pg_stat_activity TO UtilisateurRO;
via l'utilisateurRO
select * from pg_stat_activity;
on a acces uniquement aux requêtes de cet utilisateur
pour les autres la colonne de l’affichage du SQL de la requête « current_query » reste encore à <insufficient privilege>)
auriez vous une idée pour voir tout les sql en cours de tous les utilisateurs connecté à une base svp?
Pages : 1