My Query
WHEN I RUN THIS QUERY ON MY DOC WHEN CONTAINS ARRAY OF PRICELIST LENGTH 255 IT TAKES 400ms to fetch but i need quicker. Thanks
SELECT schedule_pricelist.id,schedule_pricelist.price,schedule_pricelist.status,items.item_name as pricelist_item_name,service.name as service_name,department.sector as department_name FROM stitchit_initialization_hq schedule USE KEYS ‘schedule_3221190011’ UNNEST schedule.schedule_pricelist LEFT JOIN stitchit_initialization_hq items ON items.id = schedule_pricelist.item_id AND items.type = ‘items’ LEFT JOIN stitchit_initialization_hq service ON service.id = schedule_pricelist.service_id AND service.type = ‘service’ LEFT JOIN stitchit_initialization_hq department ON department.id = schedule_pricelist.department_id AND department.type = ‘department’ WHERE schedule.id = ‘3221190011’ AND schedule.type = ‘schedule’ AND service.id = ‘3221190019’ AND department.id = ‘3221190019’
MY document sample
{
“id”: “3221190011”,
“schedule_name”: “Alteration Price”,
“status”: “Active”,
“created_date”: “2019-11-15”,
“created_branch_id”: “3221”,
“updated_date”: “2019-11-16 02:33:01”,
“schedule_pricelist”: [
{
“id”: “322119000000”,
“schedule_id”: “3221190011”,
“service_id”: “3221190019”,
“department_id”: “3221190019”,
“item_id”: “3221190599”,
“price”: 11,
“branch_id”: “3221”,
“status”: “Active”,
“created_date”: “2019-10-09”,
“updated_date”: “2019-10-09 01:35:09”
},
],
“type”: “schedule”
}
MY INDEXS
CREATE INDEX isched
ON stitchit_initialization_hq
((distinct (array {“department_id”: (schedule_pricelist
.department_id
), “item_id”: (schedule_pricelist
.item_id
), “service_id”: (schedule_pricelist
.service_id
)} for schedule_pricelist
in schedule_pricelist
end))) WHERE (type
= “schedule”)
CREATE INDEX def_service_details
ON stitchit_initialization_hq
(id
,name
) WHERE (type
= “service”)
CREATE INDEX def_department_details
ON stitchit_initialization_hq
(id
,sector
) WHERE (type
= “department”)
CREATE INDEX def_item
ON stitchit_initialization_hq
(id
,service_id
,department_id
) WHERE (type
= “items”)