Activity log for bug #360547

Date Who What changed Old value New value Message
2009-04-13 15:21:56 Данило Шеган bug added bug
2009-04-13 15:22:05 Данило Шеган rosetta: milestone 2.2.4
2009-04-13 15:22:05 Данило Шеган rosetta: assignee Данило Шеган (danilo)
2009-04-13 15:30:59 Данило Шеган rosetta: importance Undecided High
2009-04-13 15:30:59 Данило Шеган rosetta: status New In Progress
2009-04-13 16:26:59 Данило Шеган description Postgres chooses a bad query plan with existing 'untranslated' filter. A fix is simple: replace "POTMsgSet.id IN" with "TranslationTemplateItem.potmsgset IN". Postgres chooses a bad query plan with existing 'untranslated' filter. A fix means several things: * replace "POTMsgSet.id IN" with "TranslationTemplateItem.potmsgset IN" * add TranslationTemplateItem.potmsgset = TranslationTemplateItem.potmsgset to the translated query so index on that table is preferred (yeah, this looks silly, but improves the speed by more than 10x on staging DB). Basically, the second change makes Postgres to use translationtemplateitem__potemplate__potmsgset__key index instead of using POTMsgSet id index.
2009-04-13 16:27:18 Данило Шеган description Postgres chooses a bad query plan with existing 'untranslated' filter. A fix means several things: * replace "POTMsgSet.id IN" with "TranslationTemplateItem.potmsgset IN" * add TranslationTemplateItem.potmsgset = TranslationTemplateItem.potmsgset to the translated query so index on that table is preferred (yeah, this looks silly, but improves the speed by more than 10x on staging DB). Basically, the second change makes Postgres to use translationtemplateitem__potemplate__potmsgset__key index instead of using POTMsgSet id index. Postgres chooses a bad query plan with existing 'untranslated' filter. A fix means several things: * replace "POTMsgSet.id IN" with "TranslationTemplateItem.potmsgset IN" * add TranslationTemplateItem.potmsgset = TranslationTemplateItem.potmsgset to the translated query so index on that table is preferred (yeah, this looks silly, but improves the speed by more than 10x on staging DB). Basically, the second change makes Postgres use translationtemplateitem__potemplate__potmsgset__key index instead of using POTMsgSet id index.
2009-04-13 16:30:09 Данило Шеган description Postgres chooses a bad query plan with existing 'untranslated' filter. A fix means several things: * replace "POTMsgSet.id IN" with "TranslationTemplateItem.potmsgset IN" * add TranslationTemplateItem.potmsgset = TranslationTemplateItem.potmsgset to the translated query so index on that table is preferred (yeah, this looks silly, but improves the speed by more than 10x on staging DB). Basically, the second change makes Postgres use translationtemplateitem__potemplate__potmsgset__key index instead of using POTMsgSet id index. Postgres chooses a bad query plan with existing 'untranslated' filter. A fix means several things: * replace "POTMsgSet.id IN" with "TranslationTemplateItem.potmsgset IN" * add TranslationTemplateItem.potmsgset = TranslationTemplateItem.potmsgset to the translated query so index on that table is preferred (yeah, this looks silly, but improves the speed by more than 10x on staging DB). Basically, the second change makes Postgres use translationtemplateitem__potemplate__potmsgset__key index instead of using POTMsgSet id index. These two changes combined give us around 40x improvement, so on our biggest POTemplate (i.e. ddtp-universe package descriptions, with 45000 messages) we get queries in sub 1s time where we had 40s.
2009-04-13 16:32:47 Данило Шеган description Postgres chooses a bad query plan with existing 'untranslated' filter. A fix means several things: * replace "POTMsgSet.id IN" with "TranslationTemplateItem.potmsgset IN" * add TranslationTemplateItem.potmsgset = TranslationTemplateItem.potmsgset to the translated query so index on that table is preferred (yeah, this looks silly, but improves the speed by more than 10x on staging DB). Basically, the second change makes Postgres use translationtemplateitem__potemplate__potmsgset__key index instead of using POTMsgSet id index. These two changes combined give us around 40x improvement, so on our biggest POTemplate (i.e. ddtp-universe package descriptions, with 45000 messages) we get queries in sub 1s time where we had 40s. Postgres chooses a bad query plan with existing 'untranslated' filter. A fix means several things: * replace "POTMsgSet.id IN" with "TranslationTemplateItem.potmsgset IN" * add TranslationTemplateItem.potmsgset = TranslationTemplateItem.potmsgset to the translated query so index on that table is preferred (yeah, this looks silly, but improves the speed by more than 10x on staging DB). Basically, the second change makes Postgres use translationtemplateitem__potemplate__potmsgset__key index instead of using POTMsgSet id index. These two changes combined give us around 40x improvement, so on our biggest POTemplate (i.e. ddtp-universe package descriptions, with 45000 messages) we get queries in 550ms where we had 21s.
2009-04-14 09:43:02 Данило Шеган rosetta: status In Progress Fix Committed
2009-04-30 08:57:39 Данило Шеган rosetta: status Fix Committed Fix Released