[Enhancement]: Improve book editing performance when saving changes #1212

Closed
opened 2026-04-24 23:35:55 +02:00 by adam · 5 comments
Owner

Originally created by @Timtam on GitHub (Jun 24, 2023).

Describe the feature/enhancement

I'm aware that changing from NJODB to SQLite is already in the works, I however just wanted to let you know that even with an SSD cache caching the database, changing book details in a large library (about 5000 books right now), takes half a minute to save. I just scanned my entire library and now want to edit almost any book to have proper categories and everything, it'd literally take days just for saving the changes. I guess that is because its always saving away the gigabytes of NJODB whenever I press save... guess we'd either need to change to SQLite which is fast enough to only change the stuff that we need or find a way to only save on in a kinda scheduled way instead of saving whenever you press save. Something like caching it in-memory so that you don't have to wait whenever you want to edit something within the library.

Originally created by @Timtam on GitHub (Jun 24, 2023). ### Describe the feature/enhancement I'm aware that changing from NJODB to SQLite is already in the works, I however just wanted to let you know that even with an SSD cache caching the database, changing book details in a large library (about 5000 books right now), takes half a minute to save. I just scanned my entire library and now want to edit almost any book to have proper categories and everything, it'd literally take days just for saving the changes. I guess that is because its always saving away the gigabytes of NJODB whenever I press save... guess we'd either need to change to SQLite which is fast enough to only change the stuff that we need or find a way to only save on in a kinda scheduled way instead of saving whenever you press save. Something like caching it in-memory so that you don't have to wait whenever you want to edit something within the library.
adam added the enhancement label 2026-04-24 23:35:55 +02:00
adam closed this issue 2026-04-24 23:35:56 +02:00
Author
Owner

@advplyr commented on GitHub (Jun 24, 2023):

I don't think 5k books is large enough that this would be taking that long.
Perhaps the file system where the /config folder is mapped to has a very slow read/write. Maybe it is network attached storage?

@advplyr commented on GitHub (Jun 24, 2023): I don't think 5k books is large enough that this would be taking that long. Perhaps the file system where the `/config` folder is mapped to has a very slow read/write. Maybe it is network attached storage?
Author
Owner

@Timtam commented on GitHub (Jun 24, 2023):

Nope, i'm on a Synology NAS with the config folder being a local folder that is even backed up by an SSD cache. config folder is about 1 GB in size.

@Timtam commented on GitHub (Jun 24, 2023): Nope, i'm on a Synology NAS with the config folder being a local folder that is even backed up by an SSD cache. config folder is about 1 GB in size.
Author
Owner

@advplyr commented on GitHub (Jun 24, 2023):

What is taking up so much space in the config folder?

@advplyr commented on GitHub (Jun 24, 2023): What is taking up so much space in the config folder?
Author
Owner

@Timtam commented on GitHub (Jun 24, 2023):

The library items folder is 1.02 GB in size and takes up almost everything. And yeah, thats about 560K mp3 files, and i'm not planning to switch all that to M4B because most of the players i'm using apart from ABS don't handle that format too well unfortunately.

@Timtam commented on GitHub (Jun 24, 2023): The library items folder is 1.02 GB in size and takes up almost everything. And yeah, thats about 560K mp3 files, and i'm not planning to switch all that to M4B because most of the players i'm using apart from ABS don't handle that format too well unfortunately.
Author
Owner

@advplyr commented on GitHub (Sep 13, 2023):

DB has been switched to sqlite

@advplyr commented on GitHub (Sep 13, 2023): DB has been switched to sqlite
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#1212