Oct 9, 2007, 2:15:16 PM (15 years ago)
Nicklas Nordborg

References #796: Don't create indexes on primary key columns for tables in the dynamic database

Added tool to remove indexes from dynamic db.

1 edited


  • branches/2.4-stable/doc/src/docbook/admindoc/installation_upgrade.xml

    r3744 r3811  
    6767    <title>Upgrade instructions</title>
    69     <important>
    70       <title>Note to PostgreSQL users</title>
    71       Upgrading BASE to versions earlier
    72       than v2.2 is not be safe with an PostgreSQL database engine due
    73       to a bug in Hibernate. The problem is reported to Hibernate
    74       developers. There now exists a workaround for this problem. Read
    75       more about the workaround on
    76       the <ulink
    77       url="http://base.thep.lu.se/wiki/UpgradePostgres">Upgrading a
    78       Postgres database prior to BASE 2.2</ulink> page. This fix is
    79       not needed for the release which this document is a part of.
     69    <important id="dropindexes">
     70      <title>Upgrading from BASE 2.4.3 or lower to 2.4.4 or higher</title>
     71      <para>
     72        Older releases of BASE 2 used to create indexes for many columns
     73        in the dynamic database. The same columns are part of the primary
     74        key for the tables so the indexes are not really needed. The
     75        result is very bad performance since the database engine sometimes
     76        get stuck in "index update" mode making the entire server
     77        very slow. BASE 2.4.4 no longer creates the indexes. Indexes on
     78        existing tables should be dropped to increase the performance.
     79        Tests have shown a 50-90% decrease in execution time for some
     80        plug-ins
     81        (<ulink url="http://base.thep.lu.se/ticket/294">http://base.thep.lu.se/ticket/294</ulink>).
     82      </para>
     83      <para>
     84        Removing the indexes is very simple. <emphasis>After the server
     85        has been upgraded</emphasis> following the usual instructions below, issue the
     86        the following commands:
     87      </para>
     89      <programlisting>
     90cd &lt;basedir&gt;/bin
     91./dynamicdb.sh -v -dropindexes
     94      <para>
     95        Skip the <option>-dropindexes</option> option to do a dry
     96        run without actually deleting the indexes.
     97      </para>
    8098    </important>
Note: See TracChangeset for help on using the changeset viewer.