From 0872de5ff32736f8dba57d247d3edc6ed84020e7 Mon Sep 17 00:00:00 2001 From: fipwmaqzufheoxq92ebc <29818044+fipwmaqzufheoxq92ebc@users.noreply.github.com> Date: Mon, 17 Aug 2020 22:14:00 +0200 Subject: [PATCH] Speed-up stock_current by improving products_resolved and creating indices. --- migrations/0106.sql | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 migrations/0106.sql diff --git a/migrations/0106.sql b/migrations/0106.sql new file mode 100644 index 00000000..41b95194 --- /dev/null +++ b/migrations/0106.sql @@ -0,0 +1,31 @@ +DROP INDEX IF EXISTS _index_products_parents; +DROP INDEX IF EXISTS _index_stock_products_amount; + +CREATE INDEX _index_products_parents ON products (parent_product_id); +CREATE INDEX _index_stock_products_amount ON stock (product_id, open, best_before_date, amount); + + +DROP INDEX IF EXISTS _index_product_parents_2; +CREATE INDEX _index_product_parents_2 + ON products ( + /* see products_resolved */ + CASE WHEN parent_product_id IS NULL THEN id ELSE parent_product_id END, + active + ); + +/* +Old version is in 0103.sql +*/ +DROP VIEW products_resolved; +CREATE VIEW products_resolved +AS +SELECT CASE + WHEN p.parent_product_id IS NULL + THEN p.id + ELSE + p.parent_product_id + END + AS parent_product_id, + p.id as sub_product_id +FROM products p WHERE active = 1; +