From c26878562c22341b390d5add9ef1f25d06b1f53f Mon Sep 17 00:00:00 2001 From: sentriz Date: Fri, 19 Apr 2019 15:52:40 +0100 Subject: [PATCH] add indexes --- cmd/scanner/main.go | 6 ++++++ db/model.go | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/cmd/scanner/main.go b/cmd/scanner/main.go index 0ec5e96..b017f75 100644 --- a/cmd/scanner/main.go +++ b/cmd/scanner/main.go @@ -208,6 +208,7 @@ func createDatabase() { func cleanDatabase() { // delete tracks not on filesystem + o := time.Now() var tracks []*db.Track tx.Select("id, path").Find(&tracks) for _, track := range tracks { @@ -218,6 +219,8 @@ func cleanDatabase() { tx.Delete(&track) log.Println("removed", track.Path) } + fmt.Println("ONE", time.Since(o)) + o = time.Now() // delete albums without tracks tx.Exec(` DELETE FROM albums @@ -225,6 +228,8 @@ func cleanDatabase() { FROM tracks WHERE album_id = albums.id) = 0; `) + fmt.Println("TWO", time.Since(o)) + o = time.Now() // delete artists without tracks tx.Exec(` DELETE FROM album_artists @@ -232,6 +237,7 @@ func cleanDatabase() { FROM albums WHERE album_artist_id = album_artists.id) = 0; `) + fmt.Println("THREE", time.Since(o)) } func main() { diff --git a/db/model.go b/db/model.go index 975d430..277c577 100644 --- a/db/model.go +++ b/db/model.go @@ -7,7 +7,7 @@ type Album struct { IDBase CrudBase AlbumArtist AlbumArtist - AlbumArtistID int + AlbumArtistID int `gorm:"index"` Title string `gorm:"not null;index"` Tracks []Track } @@ -25,7 +25,7 @@ type Track struct { IDBase CrudBase Album Album - AlbumID int + AlbumID int `gorm:"index"` AlbumArtist AlbumArtist AlbumArtistID int Artist string