Query Metrics
3
Database Queries
3
Different statements
230.79 ms
Query time
0
Invalid entities
2
Managed entities
Grouped Statements
| Time▼ | Count | Info | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
140.19 ms (60.74%) |
1 |
SELECT review.event AS review_event, review_modify.mod_date as update, review_product.value AS review_product, product_trans.name AS product_name, review_status.value AS review_status, review_text.value AS review_text, review_user.value AS review_user, review_rating.value AS review_rating_value, profile_personal.username as profile_username, review_name.value AS review_name FROM product_review review INNER JOIN product_review_event review_event ON review.event = review_event.id INNER JOIN product_review_modify review_modify ON review_modify.event = review_event.id INNER JOIN product_review_product review_product ON review_product.event = review_event.id INNER JOIN product_review_status review_status ON review_status.event = review_event.id INNER JOIN product_review_text review_text ON review_text.event = review_event.id INNER JOIN product_review_user review_user ON review_user.event = review_event.id LEFT JOIN product_review_rating review_rating ON review_rating.event = review_event.id LEFT JOIN product_review_name review_name ON review_name.event = review_event.id INNER JOIN product product ON product.id = review_product.value AND product.id = ? INNER JOIN product_event product_event ON product_event.id = product.event INNER JOIN product_trans product_trans ON product_trans.event = product_event.id INNER JOIN users_profile_info profile_info ON profile_info.usr = review_user.value AND profile_info.active = true LEFT JOIN users_profile profile ON profile.id = profile_info.profile LEFT JOIN users_profile_personal profile_personal ON profile_personal.event = profile.event WHERE review_status.value = ? GROUP BY review.event, review_modify.mod_date, review_product.value, product_trans.name, review_status.value, review_text.value, review_user.value, review_rating.value, profile_personal.username, review_name.value, review.id ORDER BY review.id DESC LIMIT 24
Parameters:
[ "018f7c64-c247-72c0-80ad-77aecb29cfbf" "active" ]
|
||||||||||||||||||||||||||||||
|
87.48 ms (37.91%) |
1 |
SELECT product.id, product.event, product_active.active, product_active.active_from, product_active.active_to, product_seo.title AS seo_title, product_seo.keywords AS seo_keywords, product_seo.description AS seo_description, product_trans.name AS product_name, product_desc.preview AS product_preview, product_desc.description AS product_description, product_info.url, category_offer.reference AS product_offer_reference, project_profile_discount.value AS project_discount, JSON_AGG ( DISTINCT JSONB_BUILD_OBJECT ( /* свойства для сортировки JSON */ '0', CONCAT(product_offer.value, product_variation.value, product_modification.value, product_modification_price.price), 'offer_uid', product_offer.id, 'offer_value', product_offer.value, /* значение торгового предложения */ 'offer_postfix', product_offer.postfix, /* постфикс торгового предложения */ 'offer_reference', category_offer.reference, /* тип (field) торгового предложения */ 'offer_name', category_offer_trans.name, /* Название свойства */ 'variation_uid', product_variation.id, 'variation_value', product_variation.value, /* значение множественного варианта */ 'variation_postfix', product_variation.postfix, /* постфикс множественного варианта */ 'variation_reference', category_variation.reference, /* тип (field) множественного варианта */ 'variation_name', category_variation_trans.name, /* Название свойства */ 'modification_uid', product_modification.id, 'modification_value', product_modification.value, /* значение модификации */ 'modification_postfix', product_modification.postfix, /* постфикс модификации */ 'modification_reference', category_modification.reference, /* тип (field) модификации */ 'modification_name', category_modification_trans.name, /* артикул модификации */ 'article', CASE WHEN product_modification.article IS NOT NULL THEN product_modification.article WHEN product_variation.article IS NOT NULL THEN product_variation.article WHEN product_offer.article IS NOT NULL THEN product_offer.article WHEN product_info.article IS NOT NULL THEN product_info.article ELSE NULL END, /* Product Invariable */ 'product_invariable_id', COALESCE( product_invariable.id ), /* Profile Discount */ 'profile_discount', NULL, /* Project Discount */ 'project_discount', project_profile_discount.value, /* Кастомная цена */ 'promotion_price', NULL, 'promotion_active', NULL, 'price', CASE WHEN product_modification_price.price IS NOT NULL AND product_modification_price.price > 0 THEN product_modification_price.price WHEN product_variation_price.price IS NOT NULL AND product_variation_price.price > 0 THEN product_variation_price.price WHEN product_offer_price.price IS NOT NULL AND product_offer_price.price > 0 THEN product_offer_price.price WHEN product_price.price IS NOT NULL AND product_price.price > 0 THEN product_price.price ELSE NULL END, 'old_price', COALESCE( NULLIF(product_modification_price.old, 0), NULLIF(product_variation_price.old, 0), NULLIF(product_offer_price.old, 0), NULLIF(product_price.old, 0), 0 ), 'currency', CASE WHEN product_modification_price.price IS NOT NULL AND product_modification_price.price > 0 THEN product_modification_price.currency WHEN product_variation_price.price IS NOT NULL AND product_variation_price.price > 0 THEN product_variation_price.currency WHEN product_offer_price.price IS NOT NULL AND product_offer_price.price > 0 THEN product_offer_price.currency WHEN product_price.price IS NOT NULL AND product_price.price > 0 THEN product_price.currency ELSE NULL END, 'quantity', CASE WHEN product_modification_quantity.quantity IS NOT NULL THEN (product_modification_quantity.quantity - product_modification_quantity.reserve) WHEN product_variation_quantity.quantity IS NOT NULL THEN (product_variation_quantity.quantity - product_variation_quantity.reserve) WHEN product_offer_quantity.quantity IS NOT NULL THEN (product_offer_quantity.quantity - product_offer_quantity.reserve) WHEN product_price.quantity IS NOT NULL THEN (product_price.quantity - product_price.reserve) ELSE NULL END ) ) /* Только с ценой */ FILTER (WHERE CASE WHEN product_modification_price.price IS NOT NULL AND product_modification_price.price > 0 THEN product_modification_price.price WHEN product_variation_price.price IS NOT NULL AND product_variation_price.price > 0 THEN product_variation_price.price WHEN product_offer_price.price IS NOT NULL AND product_offer_price.price > 0 THEN product_offer_price.price WHEN product_price.price IS NOT NULL AND product_price.price > 0 THEN product_price.price ELSE 0 END > 0) AS product_offers, JSON_AGG (DISTINCT CASE WHEN product_modification_image.ext IS NOT NULL THEN JSONB_BUILD_OBJECT ( 'product_img_root', product_modification_image.root, 'product_img', CONCAT ( '/upload/product_modification_images' , '/', product_modification_image.name), 'product_img_ext', product_modification_image.ext, 'product_img_cdn', product_modification_image.cdn ) WHEN product_variation_image.ext IS NOT NULL THEN JSONB_BUILD_OBJECT ( 'product_img_root', product_variation_image.root, 'product_img', CONCAT ( '/upload/product_variation_images' , '/', product_variation_image.name), 'product_img_ext', product_variation_image.ext, 'product_img_cdn', product_variation_image.cdn ) WHEN product_offer_images.ext IS NOT NULL THEN JSONB_BUILD_OBJECT ( 'product_img_root', product_offer_images.root, 'product_img', CONCAT ( '/upload/product_offer_images' , '/', product_offer_images.name), 'product_img_ext', product_offer_images.ext, 'product_img_cdn', product_offer_images.cdn ) WHEN product_photo.ext IS NOT NULL THEN JSONB_BUILD_OBJECT ( 'product_img_root', product_photo.root, 'product_img', CONCAT ( '/upload/product_photo' , '/', product_photo.name), 'product_img_ext', product_photo.ext, 'product_img_cdn', product_photo.cdn ) ELSE NULL END) AS product_images, category.id as category_id, category_trans.name AS category_name, category_info.url AS category_url, category_info.threshold AS category_threshold, category_cover.ext AS category_cover_ext, category_cover.cdn AS category_cover_cdn, CASE WHEN category_cover.name IS NOT NULL THEN CONCAT ( '/upload/product_category_cover' , '/', category_cover.name) ELSE NULL END AS category_cover_dir, JSON_AGG ( DISTINCT JSONB_BUILD_OBJECT ( '0', category_section_field.sort, 'field_name', category_section_field.name, 'field_public', category_section_field.public, 'field_card', category_section_field.card, 'field_type', category_section_field.type, 'field_trans', category_section_field_trans.name, 'field_value', product_property.value ) ) AS category_section_field FROM product INNER JOIN product_active product_active ON product_active.event = product.event LEFT JOIN product_seo product_seo ON product_seo.event = product.event AND product_seo.local = ? LEFT JOIN product_trans product_trans ON product_trans.event = product.event AND product_trans.local = ? LEFT JOIN product_description product_desc ON product_desc.event = product.event AND product_desc.device = ? LEFT JOIN product_price product_price ON product_price.event = product.event LEFT JOIN product_info product_info ON product_info.product = product.id LEFT JOIN product_offer product_offer ON product_offer.event = product.event INNER JOIN users_profile project_profile ON project_profile.id = ? INNER JOIN product_categories_product product_event_category ON product_event_category.event = product.event AND product_event_category.root = true LEFT JOIN product_category_offers category_offer ON category_offer.id = product_offer.category_offer LEFT JOIN product_offer_price product_offer_price ON product_offer_price.offer = (SELECT tmp_product_offer_price.offer FROM product_offer_price tmp_product_offer_price WHERE tmp_product_offer_price.offer = product_offer.id ORDER BY tmp_product_offer_price.offer DESC LIMIT 1) LEFT JOIN product_offer_quantity product_offer_quantity ON product_offer_quantity.offer = product_offer.id LEFT JOIN product_variation product_variation ON product_variation.offer = product_offer.id LEFT JOIN product_photo product_photo ON product_photo.event = product.event LEFT JOIN product_offer_images product_offer_images ON product_offer_images.offer = product_offer.id LEFT JOIN product_variation_images product_variation_image ON product_variation_image.variation = product_variation.id LEFT JOIN product_category_offers_trans category_offer_trans ON category_offer_trans.offer = category_offer.id AND category_offer_trans.local = ? LEFT JOIN product_category_variation category_variation ON category_variation.id = product_variation.category_variation LEFT JOIN product_variation_price product_variation_price ON product_variation_price.variation = (SELECT tmp_product_variation_price.variation FROM product_variation_price tmp_product_variation_price WHERE tmp_product_variation_price.variation = product_variation.id ORDER BY tmp_product_variation_price.variation DESC LIMIT 1) LEFT JOIN product_modification product_modification ON product_modification.variation = product_variation.id LEFT JOIN product_category_variation_trans category_variation_trans ON category_variation_trans.variation = category_variation.id AND category_variation_trans.local = ? LEFT JOIN product_variation_quantity product_variation_quantity ON product_variation_quantity.variation = product_variation.id LEFT JOIN product_category_modification category_modification ON category_modification.id = product_modification.category_modification LEFT JOIN product_modification_price product_modification_price ON product_modification_price.modification = (SELECT tmp_product_modification_price.modification FROM product_modification_price tmp_product_modification_price WHERE tmp_product_modification_price.modification = product_modification.id ORDER BY tmp_product_modification_price.modification DESC LIMIT 1) LEFT JOIN product_invariable product_invariable ON product_invariable.product = product.id AND ( (product_offer.const IS NOT NULL AND product_invariable.offer = product_offer.const) OR (product_offer.const IS NULL AND product_invariable.offer IS NULL) ) AND ( (product_variation.const IS NOT NULL AND product_invariable.variation = product_variation.const) OR (product_variation.const IS NULL AND product_invariable.variation IS NULL) ) AND ( (product_modification.const IS NOT NULL AND product_invariable.modification = product_modification.const) OR (product_modification.const IS NULL AND product_invariable.modification IS NULL) ) LEFT JOIN product_modification_images product_modification_image ON product_modification_image.modification = product_modification.id LEFT JOIN product_category_modification_trans category_modification_trans ON category_modification_trans.modification = category_modification.id AND category_modification_trans.local = ? LEFT JOIN product_modification_quantity product_modification_quantity ON product_modification_quantity.modification = product_modification.id LEFT JOIN user_profile_discount project_profile_discount ON project_profile_discount.event = project_profile.event INNER JOIN product_category category ON category.id = product_event_category.category LEFT JOIN product_category_trans category_trans ON category_trans.event = category.event AND category_trans.local = ? LEFT JOIN product_category_info category_info ON category_info.event = category.event LEFT JOIN product_category_section category_section ON category_section.event = category.event LEFT JOIN product_category_cover category_cover ON category_cover.event = category.event LEFT JOIN product_category_section_field category_section_field ON category_section_field.section = category_section.id LEFT JOIN product_category_section_field_trans category_section_field_trans ON category_section_field_trans.field = category_section_field.id AND category_section_field_trans.local = ? LEFT JOIN product_property product_property ON product_property.event = product.event AND product_property.field = category_section_field.const WHERE product.id = ? GROUP BY category.id, product.id, product.event, product_active.active, product_active.active_from, product_active.active_to, product_seo.title, product_seo.keywords, product_seo.description, product_trans.name, product_desc.preview, product_desc.description, product_info.url, category_offer.reference, project_profile_discount.value, category.id, category_trans.name, category_info.url, category_info.threshold, category_cover.ext, category_cover.cdn, category_cover.name
Parameters:
[ "ru" "ru" "pc" "019469c3-700f-76a9-9b34-ccde7b4e6f49" "ru" "ru" "ru" "ru" "ru" "018f7c64-c247-72c0-80ad-77aecb29cfbf" ]
|
||||||||||||||||||||||||||||||
|
3.11 ms (1.35%) |
1 |
SELECT t0.product AS product_1, t0.url AS url_2, t0.article AS article_3, t0.barcode AS barcode_4, t0.sort AS sort_5, t0.profile AS profile_6, t0.event AS event_7 FROM product_info t0 WHERE t0.url = ? LIMIT 1
Parameters:
[
"westlake_zuperace_z-007"
]
|
Database Connections
| Name | Service |
|---|---|
| default | doctrine.dbal.default_connection |
Entity Managers
| Name | Service |
|---|---|
| default | doctrine.orm.default_entity_manager |
Second Level Cache
Second Level Cache is not enabled.
Managed Entities
default entity manager
| Class | Amount of managed objects |
|---|---|
| BaksDev\Products\Product\Entity\Info\ProductInfo | 1 |
| BaksDev\Products\Product\Entity\Event\ProductEvent | 1 |
Entities Mapping
| Class | Mapping errors |
|---|---|
| BaksDev\Products\Product\Entity\Info\ProductInfo | No errors. |
| BaksDev\Products\Product\Entity\Event\ProductEvent | No errors. |