Обсуждение: pgsql-server/src backend/catalog/index.c backe ...

Поиск
Список
Период
Сортировка

pgsql-server/src backend/catalog/index.c backe ...

От
tgl@svr1.postgresql.org (Tom Lane)
Дата:
CVSROOT:    /cvsroot
Module name:    pgsql-server
Changes by:    tgl@svr1.postgresql.org    04/05/07 21:34:49

Modified files:
    src/backend/catalog: index.c
    src/backend/commands: cluster.c indexcmds.c tablecmds.c
    src/include/catalog: index.h
    src/include/commands: cluster.h

Log message:
    Get rid of cluster.c's apparatus for rebuilding a relation's indexes
    in favor of using the REINDEX TABLE apparatus, which does the same thing
    simpler and faster.  Also, make TRUNCATE not use cluster.c at all, but
    just assign a new relfilenode and REINDEX.  This partially addresses
    Hartmut Raschick's complaint from last December that 7.4's TRUNCATE is
    an order of magnitude slower than prior releases.  By getting rid of
    a lot of unnecessary catalog updates, these changes buy back about a
    factor of two (on my system).  The remaining overhead seems associated
    with creating and deleting storage files, which we may not be able to
    do much about without abandoning transaction safety for TRUNCATE.