На больших сайтах при заходе по ссылкам вида /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 заменить сортировкой по gallery_id , что по результату в большинстве случае почти одно и то же, но работает гораздо быстрее.