[shotwell] Add indexs to PhotoTable
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [shotwell] Add indexs to PhotoTable
- Date: Sun, 24 Jul 2016 06:46:24 +0000 (UTC)
commit 767950c196c447d69b47df7a5180d41f3bae0c26
Author: Jens Georg <mail jensge org>
Date: Sun Jul 24 08:44:28 2016 +0200
Add indexs to PhotoTable
To speed up duplicate searches. This is the first try on my rather limited set
of images; if these don't provide a decent speedup, we might need to create
some covering indexes.
Signed-off-by: Jens Georg <mail jensge org>
https://bugzilla.gnome.org/show_bug.cgi?id=742670
src/db/PhotoTable.vala | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+), 0 deletions(-)
---
diff --git a/src/db/PhotoTable.vala b/src/db/PhotoTable.vala
index 5be08e7..7649694 100644
--- a/src/db/PhotoTable.vala
+++ b/src/db/PhotoTable.vala
@@ -158,6 +158,33 @@ public class PhotoTable : DatabaseTable {
if (res2 != Sqlite.DONE)
fatal("create photo table", res2);
+ // These are for duplicate searches
+ // https://bugzilla.gnome.org/show_bug.cgi?id=742670
+ //
+ // 1) index on md5,file_format
+ res = db.prepare_v2 ("CREATE UNIQUE INDEX IF NOT EXISTS PhotoTableMD5Format on PhotoTable(md5,
file_format)", -1, out stmt);
+ assert (res == Sqlite.OK);
+ res = stmt.step ();
+ if (res == Sqlite.DONE) {
+ DatabaseTable.warning ("Failed to create index on md5 and file_format", res);
+ }
+
+ // 2) index on thumbnail_md5,file_format
+ res = db.prepare_v2 ("CREATE UNIQUE INDEX IF NOT EXISTS PhotoTableThumbnailMD5Format on
PhotoTable(md5, file_format)", -1, out stmt);
+ assert (res == Sqlite.OK);
+ res = stmt.step ();
+ if (res == Sqlite.DONE) {
+ DatabaseTable.warning ("Failed to create index on md5 and file_format", res);
+ }
+
+ // 3) index on thumbnail_md5,md5
+ res = db.prepare_v2 ("CREATE UNIQUE INDEX IF NOT EXISTS PhotoTableThumbnailMD5MD5 on
PhotoTable(thumbnail_md5, md5)", -1, out stmt);
+ assert (res == Sqlite.OK);
+ res = stmt.step ();
+ if (res == Sqlite.DONE) {
+ DatabaseTable.warning ("Failed to create index on thumbnail_md5 and md5", res);
+ }
+
set_table_name("PhotoTable");
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]