Re: writable view performance #1
Enrico Weigelt <weigelt(at)metux(dot)de> schrieb:
> > > * die Table base.platform wird eingebaut (join), auch wenn die daraus
> > > entstammenden Felder nicht benutzt werden. Kann das denn nicht
> > > wegoptimiert werden ?
> >
> > Wenn diese Table mit eingebaut wird, dann wird das wohl nötig sein.
> > Offensichtlich wird diese irgendwo in Deinen Views mit referenziert.
>
> Im View an sich ja, aber nicht in der konkreten Query.
Ist in der konkreten Query der View mit drin?
> > > * ich hab auf das seen-Flag (auch in Verbindung mit allerlei anderen
> > > hier benutzten Feldern) Indices gesetzt - keiner wird verwendet.
> >
> > BOOL-Felder und Indexe, naja, solche Felder haben keine hohe
> > Selektivität. Näheres würde ein explain analyse verraten.
>
> Das bringt wohl nicht viele Punkte ?
Depends. Wenn die überwiegende Mehrheit der Datensätze die
WHERE-Bedingung erfüllt, dann wohl nicht.
> > - Tabellen, die vielen Änderungen (Updates/Deletes) unterliegen
> > benötigen öfters mal ein Vacuum
>
> Wie oft ? Gibts da eine Richtschnur ?
Ein simples VACUUM unmittelbar nach gröberen Änderungen schadet selten.
>
> BTW: werden eigentlich überflüssige updates (also bei denen
> praktisch dieselben Werte wieder geschrieben werden) von postgres
> selbst abgefangen oder gibts da jedesmal echte Schreiboperationen ?
Kann ich grad nicht sagen, müßte man mal ausprobieren. Vermutlich aber
ja. Aber Versuch macht klug:
test=# \d words
Table "public.words"
Column | Type | Modifiers
--------+------+-----------
w | text |
Indexes:
"idx_words" btree (lower(w) varchar_pattern_ops)
test=#
test=# select count(*) from words;
count
-------
56840
(1 row)
test=# select pg_relation_size('words');
pg_relation_size
------------------
2621440
(1 row)
test=# update words set w=w;
UPDATE 56840
test=# select pg_relation_size('words');
pg_relation_size
------------------
5234688
(1 row)
Andreas
--
Really, I'm not out to destroy Microsoft. That will just be a completely
unintentional side effect. (Linus Torvalds)
"If I was god, I would recompile penguin with --enable-fly." (unknow)
Kaufbach, Saxony, Germany, Europe. N 51.05082°, E 13.56889°
Home |
Main Index |
Thread Index