Page 1 of 1

Долгая загрузка страниц с сортировкой по date

Posted: Fri Apr 16, 2021 7:56 am
by dude21
Доброго дня.

На больших сайтах при заходе по ссылкам вида /BigCategory/?order=date - то есть вывод галер с крупных категорий, отсортированных по date - страница очень долго грузится 6-15 секунд. При этом вывод галер отсортированных по ctr гораздо быстрее 1-3 секунды. Раньше вроде был какой-то индекс на date, который ускорял выдачу галер, потом от него отказались, и проблема была решена как-то по другому, но вот на последнем апе смарта проблема снова появилась.

Из db_queries.log :

Code: Select all

00:13::query_time=10.016680002213::query=SELECT   gs.gallery_id, gs.thumb_id, gi.sponsor_id, gi.content_count, gi.content_type, gs.total_shows, gs.total_clicks, gs.total_ctr, gt.thumb_url, gd.*, gi.content_count, gi.crop_profile_id, gs.activation_date, gi.added_date, gi.duration, gi.url, gi.gallery_total_shows, gi.sponsor_id, gi.source_url, gi.custom_gallery  FROM rot_gallery_stats1 as gs  JOIN rot_gallery_info as gi on gi.gallery_id = gs.gallery_id
JOIN rot_gallery_data1 as gd on gd.gallery_id = gs.gallery_id
  JOIN rot_thumbs as gt on gt.thumb_id = gs.thumb_id 
			WHERE 1 = 1  AND gi.gallery_status = 'active'  AND gi.gallery_type = 0  and gs.best_thumb = 'yes'  and gs.group_id = 0  ORDER BY activation_date DESC  LIMIT 300, 100# queryitems:: <= /var/www/admin/data/www/domain.com/scj/includes/libs/tpl_tags.php (db_query) (time: 10.016680002213) <= /var/www/admin/data/www/domain.com/scj/includes/libs/tpl_tags.php (rot_get_item_execute_query) (time: 10.016680002213) <= /var/www/admin/data/www/domain.com/scj/includes/libs/tpl_functions.php (rot_get_items) (time: 10.016680002213) <= /var/www/admin/data/www/domain.com/scj/tube/index.php (rot_create_page) (time: 10.016680002213) <= /var/www/admin/data/www/domain.com/scj/cgi/out.php (unknown) (time: 10.016680002213) <= /var/www/admin/data/www/domain.com/scj/cgi/out.php (my_location) (time: 10.016680002213)
Можно ли как-то ускорить загрузку галер отсортированных по date?


Поспал ночь, и пришла мысль, что можно сортировку по date заменить сортировкой по gallery_id , что по результату в большинстве случае почти одно и то же, но работает гораздо быстрее.

Re: Долгая загрузка страниц с сортировкой по date

Posted: Fri Apr 16, 2021 8:13 am
by admin
по идее там должен быть индекс

есть explain запроса на этой базе?

Re: Долгая загрузка страниц с сортировкой по date

Posted: Fri Apr 16, 2021 8:39 am
by dude21
Вот такой explain получился:

Code: Select all

id 	select_type 	table 	type 	possible_keys 	                                        key 	        key_len     ref 	             rows 	        Extra 	
1 	SIMPLE 	        gi 	ref 	PRIMARY,sponsor_id,gallery_type,gallery_status 	        gallery_type 	1 	    const 	             207698 	        Using where; Using temporary; Using filesort
1 	SIMPLE 	        gd 	eq_ref 	PRIMARY 	                                        PRIMARY 	4 	    scj.gi.gallery_id 	     1 	                NULL
1 	SIMPLE         	gs 	ref 	unique_ids,best_thumb,gallery_id,thumb_id,tested_t... 	unique_ids 	6 	    scj.gi.gallery_id,const  1 	                Using where
1 	SIMPLE 	        gt 	eq_ref 	PRIMARY 	                                        PRIMARY 	4 	    scj.gs.thumb_id 	     1 	                NULL

Re: Долгая загрузка страниц с сортировкой по date

Posted: Fri Apr 16, 2021 2:12 pm
by admin
почему то мускл иначе строит план запроса ..

на тестах он сначала должен брать таблицу stats ..
скиньте плз PMA или шел, посомтрю почему так происходит