diff --git a/apps/studio/components/interfaces/QueryPerformance/IndexAdvisor/index-advisor.utils.ts b/apps/studio/components/interfaces/QueryPerformance/IndexAdvisor/index-advisor.utils.ts index e0b80a3d5ad..723129f64b2 100644 --- a/apps/studio/components/interfaces/QueryPerformance/IndexAdvisor/index-advisor.utils.ts +++ b/apps/studio/components/interfaces/QueryPerformance/IndexAdvisor/index-advisor.utils.ts @@ -27,16 +27,18 @@ export function calculateImprovement( costBefore: number | undefined, costAfter: number | undefined ): number { - if ( - costBefore === undefined || - costAfter === undefined || - costBefore <= 0 || - costBefore <= costAfter - ) { + if (costBefore === undefined || costAfter === undefined) { return 0 } - return ((costBefore - costAfter) / costBefore) * 100 + const before = Number(costBefore) + const after = Number(costAfter) + + if (before <= 0 || before <= after) { + return 0 + } + + return ((before - after) / before) * 100 } interface CreateIndexParams { diff --git a/apps/studio/components/interfaces/QueryPerformance/QueryPanel.tsx b/apps/studio/components/interfaces/QueryPerformance/QueryPanel.tsx index 7c700952fa2..d052c10c2c5 100644 --- a/apps/studio/components/interfaces/QueryPerformance/QueryPanel.tsx +++ b/apps/studio/components/interfaces/QueryPerformance/QueryPanel.tsx @@ -21,8 +21,8 @@ export const QueryPanelScoreSection = ({ className, name, description, - before, - after, + before: rawBefore, + after: rawAfter, hideArrowMarkers = false, }: { className?: string @@ -31,58 +31,63 @@ export const QueryPanelScoreSection = ({ before?: number after?: number hideArrowMarkers?: boolean -}) => ( -