Index Kodi database actor names to speed up sync

This commit is contained in:
tomkat83 2016-12-04 12:26:25 +01:00
parent e4de57c753
commit f02bb4a873
2 changed files with 23 additions and 1 deletions

View file

@ -15,7 +15,7 @@ from utils import window, settings, getUnixTimestamp, kodiSQL, sourcesXML,\
ThreadMethods, ThreadMethodsAdditionalStop, LogTime, getScreensaver,\ ThreadMethods, ThreadMethodsAdditionalStop, LogTime, getScreensaver,\
setScreensaver, playlistXSP, language as lang, DateToKodi, reset,\ setScreensaver, playlistXSP, language as lang, DateToKodi, reset,\
advancedSettingsXML, getKodiVideoDBPath, tryDecode, deletePlaylists,\ advancedSettingsXML, getKodiVideoDBPath, tryDecode, deletePlaylists,\
deleteNodes, ThreadMethodsAdditionalSuspend deleteNodes, ThreadMethodsAdditionalSuspend, create_actor_db_index
import clientinfo import clientinfo
import downloadutils import downloadutils
import itemtypes import itemtypes
@ -558,6 +558,9 @@ class LibrarySync(Thread):
# content sync: movies, tvshows, musicvideos, music # content sync: movies, tvshows, musicvideos, music
embyconn.close() embyconn.close()
# Create an index for actors to speed up sync
create_actor_db_index()
@LogTime @LogTime
def fullSync(self, repair=False): def fullSync(self, repair=False):
""" """

View file

@ -229,6 +229,25 @@ def getKodiVideoDBPath():
% dbVersion.get(xbmc.getInfoLabel('System.BuildVersion')[:2], ""))) % dbVersion.get(xbmc.getInfoLabel('System.BuildVersion')[:2], "")))
return dbPath return dbPath
def create_actor_db_index():
"""
Index the "actors" because we got a TON - speed up SELECT and WHEN
"""
conn = kodiSQL('video')
cursor = conn.cursor()
try:
cursor.execute("""
CREATE UNIQUE INDEX index_name
ON actor (name);
""")
except sqlite3.OperationalError:
# Index already exists
pass
conn.commit()
conn.close()
def getKodiMusicDBPath(): def getKodiMusicDBPath():
dbVersion = { dbVersion = {