<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
    <title></title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Thanks to the lord I had the patience to wait for an answer, and
    thanks to Jean-Francois for the reply. I could not have hoped for a
    better one.<br>
    <br>
    To be continued.<br>
    <br>
    Have a nice day,<br>
    Rinus<br>
    <br>
    Op 13-09-11 14:10, Jean-Francois schreef:
    <blockquote
      cite="mid:alpine.LNX.2.00.1109131342060.19606@ian.victoria.net"
      type="cite">
      <br>
      On Tue, 13 Sep 2011, Rinus Bakker wrote:
      <br>
      <br>
      <blockquote type="cite">I was suspicious about the db being broken
        and was hoping for that (it can
        <br>
        be fixed) and was fearing that (it cause an awfull lot of work)
        <br>
        Putting the answers of Gilles and Remco together makes me even
        more
        <br>
        suspicious about that scenario.
        <br>
        <br>
        That´s why I came with this question a while ago:
        <br>
        I suppose that the db becomes more and more messy by adding,
        removing and
        <br>
        readding etc etc, I wonder if someone knows if and if, how it is
        possible to
        <br>
        optimize the db in order to have quicker search capabillity.
        <br>
        A few filtering actions can make it quite unresponsive.
        <br>
      </blockquote>
      <br>
      Good guess. All databases systems, be it SQLite, MySQL, Oracle,
      PostgreSQL, etc., get messy and fragmented as time goes by.
      <br>
      And that's why all database software provide a "vacuum" function,
      to do
      <br>
      cleanup tasks, reorganize tables and indexes, remove deleted
      tuples, etc.
      <br>
      <br>
      It's a good practice to do such cleanup from time to time.
      <br>
      (Time to time may be every night for huge professional databases,
      or
      <br>
      once or twice a month for a user level database as digiKam DB.)
      <br>
      <br>
      <blockquote type="cite">and with this question:
        <br>
        Does anyone know if this
        <br>
        cleanup_digikamdb.1 by Andy Clemens
        <br>
        is still valid to use with current digikam db?
        <br>
        <br>
        And any ideas what to do with that cleanup_digikamdb.1 file?
        <br>
      </blockquote>
      <br>
      Cleanup_digikam doesn't nothing else than issuing "vacuum"
      commands.
      <br>
      The extra is that it checks that no active DB connection is
      running,
      <br>
      because it's not possible to do vacuum tasks while an application
      is
      <br>
      connected and working with the database.
      <br>
      <br>
      But you don't need cleanup_digikam if you have the SQLlite3
      package
      <br>
      installed, just use the sqlite3 command line client program.
      <br>
      <br>
      - Close any running digiKam program
      <br>
      - Go into your digiKam base directory and backup your digikam4.db
      file.
      <br>
      - From command line run the following :
      <br>
        sqlite3 -line digikam4.db 'vacuum;'
      <br>
      <br>
      That's all and that's mostly what cleanup_digikam does.
      <br>
      <br>
      You can also run some checks, e.g. :
      <br>
        sqlite3 -line digikam4.db 'pragma integrity_check;'
      <br>
      <br>
      and, hopefully, get a message :
      <br>
        integrity_check = ok
      <br>
      <br>
      Tuning a database performance is a bit more complicated because
      you need
      <br>
      to know what kind of performance parameter may be affected.
      <br>
      SQLite3 has a number of tuning parameters, see the documentation :
      <br>
       <a class="moz-txt-link-freetext" href="http://www.sqlite.org/pragma.html">http://www.sqlite.org/pragma.html</a>
      <br>
      <br>
      Maybe, moving temporary storage from disk to computer memory may
      help
      <br>
      about performance :
      <br>
        sqlite3 -line digikam4.db 'pragma temp_store = 2;'
      <br>
      (That's the only "tuning" I did on my digikam DB)
      <br>
      <br>
      Note that doing such DB maintenance tasks with the SQLite3 command
      line
      <br>
      program is independant of such or such digiKam version. It's *the*
      program
      <br>
      packaged with *the* sqlite library used by digiKam. So it knowns
      perfectly
      <br>
      well what should a SQLite db look like, what is correct or not.
      <br>
      If integrity checks are ok, you can trust that.
      <br>
      <br>
      Cheers,
      <br>
      <br>
      Jean-François
      <br>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
Digikam-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Digikam-users@kde.org">Digikam-users@kde.org</a>
<a class="moz-txt-link-freetext" href="https://mail.kde.org/mailman/listinfo/digikam-users">https://mail.kde.org/mailman/listinfo/digikam-users</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>