update indices, make sure to build and analyze

This commit is contained in:
Damien Elmes 2008-11-28 15:47:52 +09:00
parent 0b52e2f0ec
commit 8147e5002a

View file

@ -1724,19 +1724,19 @@ alter table decks add column revCardOrder integer not null default 0""")
"Add indices to the DB." "Add indices to the DB."
# card queues # card queues
deck.s.statement(""" deck.s.statement("""
create index if not exists ix_cards_combinedDue on cards create index if not exists ix_cards_duePriority on cards
(type, isDue, combinedDue, priority)""") (type, isDue, combinedDue, priority)""")
deck.s.statement(""" deck.s.statement("""
create index if not exists ix_cards_revOldOrder on cards create index if not exists ix_cards_intervalDesc on cards
(type, isDue, priority desc, interval desc)""") (type, isDue, priority desc, interval desc)""")
deck.s.statement(""" deck.s.statement("""
create index if not exists ix_cards_revNewOrder on cards create index if not exists ix_cards_intervalAsc on cards
(type, isDue, priority desc, interval)""") (type, isDue, priority desc, interval)""")
deck.s.statement(""" deck.s.statement("""
create index if not exists ix_cards_newRandomOrder on cards create index if not exists ix_cards_randomOrder on cards
(type, isDue, priority desc, factId, ordinal)""") (type, isDue, priority desc, factId, ordinal)""")
deck.s.statement(""" deck.s.statement("""
create index if not exists ix_cards_newOrderedOrder on cards create index if not exists ix_cards_priorityDue on cards
(type, isDue, priority desc, combinedDue)""") (type, isDue, priority desc, combinedDue)""")
# card spacing # card spacing
deck.s.statement(""" deck.s.statement("""
@ -1986,10 +1986,15 @@ where interval < 1""")
deck.s.statement("drop view if exists failedCardsNow") deck.s.statement("drop view if exists failedCardsNow")
deck.s.statement("drop view if exists failedCardsSoon") deck.s.statement("drop view if exists failedCardsSoon")
deck.s.statement("drop index if exists ix_cards_revisionOrder") deck.s.statement("drop index if exists ix_cards_revisionOrder")
deck.s.statement("drop index if exists ix_cards_newRandomOrder")
deck.s.statement("drop index if exists ix_cards_newOrderedOrder")
deck.s.statement("drop index if exists ix_cards_combinedDue")
# add new views # add new views
DeckStorage._addViews(deck) DeckStorage._addViews(deck)
DeckStorage._addIndices(deck)
deck.version = 17 deck.version = 17
deck.s.commit() deck.s.commit()
deck.s.statement("analyze")
return deck return deck
_upgradeDeck = staticmethod(_upgradeDeck) _upgradeDeck = staticmethod(_upgradeDeck)