🇻
Size: a a a
А
А
VS
cscart_discussion
(thread_id
mediumint unsigned NOT NULL AUTO_INCREMENT,object_id
mediumint unsigned NOT NULL DEFAULT '0',object_type
char(1) NOT NULL DEFAULT '',type
char(1) NOT NULL DEFAULT 'D',company_id
int unsigned NOT NULL DEFAULT '0',thread_id
),object_id
(object_id
,object_type
,company_id
),company_id
(company_id
)cscart_discussion_posts
(post_id
mediumint unsigned NOT NULL AUTO_INCREMENT,thread_id
mediumint unsigned NOT NULL DEFAULT '0',name
varchar(128) NOT NULL DEFAULT '',timestamp
int unsigned NOT NULL DEFAULT '0',user_id
mediumint unsigned NOT NULL DEFAULT '0',ip_address
varbinary(40) NOT NULL DEFAULT '',status
char(1) NOT NULL DEFAULT 'D',post_id
),thread_id
(thread_id
,ip_address
),thread_id_2
(thread_id
,status
)cscart_discussion_rating
(rating_value
tinyint unsigned NOT NULL DEFAULT '0',post_id
mediumint unsigned NOT NULL DEFAULT '0',thread_id
mediumint unsigned NOT NULL DEFAULT '0',post_id
),thread_id
(thread_id
)VS
cscart_discussion
, там 183 тыс записейА
SELECT products.product_id
, IF(shared_descr.product_id IS NOT NULL, shared_descr.product, descr1.product) as product
, products.product_type
, products.parent_product_id
, cscart_discussion.type AS discussion_type
, cscart_discussion.thread_id AS discussion_thread_id
, AVG(cscart_discussion_rating.rating_value) AS average_rating
FROM cscart_products as products
LEFT JOIN cscart_product_descriptions as descr1 ON descr1.product_id = products.product_id AND descr1.lang_code = 'ru'
INNER JOIN cscart_product_prices as prices ON prices.product_id = products.product_id AND prices.lower_limit = 1
INNER JOIN cscart_products_categories as products_categories ON products_categories.product_id = products.product_id
INNER JOIN cscart_categories ON cscart_categories.category_id = products_categories.category_id
AND (cscart_categories.usergroup_ids = '' OR FIND_IN_SET(0, cscart_categories.usergroup_ids) OR FIND_IN_SET(1, cscart_categories.usergroup_ids))
AND cscart_categories.status IN ('A', 'H')
LEFT JOIN cscart_ult_product_descriptions shared_descr ON shared_descr.product_id = products.product_id
AND shared_descr.company_id = 1
AND shared_descr.lang_code = 'ru'
INNER JOIN cscart_discussion ON cscart_discussion.object_id = products.product_id
AND cscart_discussion.object_type = 'P'
INNER JOIN cscart_discussion_posts ON cscart_discussion_posts.thread_id = cscart_discussion.thread_id
AND cscart_discussion_posts.status = 'A'
INNER JOIN cscart_discussion_rating ON cscart_discussion.thread_id = cscart_discussion_rating.thread_id
AND cscart_discussion_rating.post_id = cscart_discussion_posts.post_id
AND cscart_discussion_rating.rating_value != 0
WHERE 1
AND cscart_categories.company_id = 1
AND (products.usergroup_ids = ''
OR FIND_IN_SET(0, products.usergroup_ids)
OR FIND_IN_SET(1, products.usergroup_ids)
)
AND products.status IN ('A')
AND prices.usergroup_id IN (0, 0, 1)
AND products.parent_product_id = 0
GROUP BY products.product_id
, IF(shared_descr.product_id IS NOT NULL, shared_descr.product, descr1.product)
, products.product_type
, products.parent_product_id
, cscart_discussion.type
, cscart_discussion.thread_id
HAVING average_rating > 0
ORDER BY average_rating desc, products.product_id ASC
LIMIT 0, 10;
А
VS
VS
А
А
VS
А
VS
А
SELECT products.product_id
, IF(shared_descr.product_id IS NOT NULL, shared_descr.product, descr1.product) as product
, products.product_type
, products.parent_product_id
, cscart_discussion.type AS discussion_type
, cscart_discussion.thread_id AS discussion_thread_id
, AVG(cscart_discussion_rating.rating_value) AS average_rating
FROM cscart_products as products
LEFT JOIN cscart_product_descriptions as descr1 ON descr1.product_id = products.product_id AND descr1.lang_code = 'ru'
LEFT JOIN cscart_product_prices as prices ON prices.product_id = products.product_id AND prices.lower_limit = 1
INNER JOIN cscart_products_categories as products_categories ON products_categories.product_id = products.product_id
INNER JOIN cscart_categories ON cscart_categories.category_id = products_categories.category_id
AND (cscart_categories.usergroup_ids = '' OR FIND_IN_SET(0, cscart_categories.usergroup_ids) OR FIND_IN_SET(1, cscart_categories.usergroup_ids))
AND cscart_categories.status IN ('A', 'H')
LEFT JOIN cscart_ult_product_descriptions shared_descr ON shared_descr.product_id = products.product_id
AND shared_descr.company_id = 1
AND shared_descr.lang_code = 'ru'
LEFT JOIN cscart_discussion ON cscart_discussion.object_id = products.product_id
AND cscart_discussion.object_type = 'P'
LEFT JOIN cscart_discussion_posts ON cscart_discussion_posts.thread_id = cscart_discussion.thread_id
AND cscart_discussion_posts.status = 'A'
LEFT JOIN cscart_discussion_rating ON cscart_discussion.thread_id = cscart_discussion_rating.thread_id
AND cscart_discussion_rating.post_id = cscart_discussion_posts.post_id
AND cscart_discussion_rating.rating_value != 0
WHERE 1
AND cscart_categories.company_id = 1
AND (products.usergroup_ids = ''
OR FIND_IN_SET(0, products.usergroup_ids)
OR FIND_IN_SET(1, products.usergroup_ids)
)
AND products.status IN ('A')
AND prices.usergroup_id IN (0, 0, 1)
AND products.parent_product_id = 0
GROUP BY products.product_id
HAVING average_rating > 0
ORDER BY average_rating desc, products.product_id ASC
LIMIT 0, 10;
VS
VS
А
VS