Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы Поиск слишком долго обрабатывает запрос, с чем это может быть связано?

Поиск слишком долго обрабатывает запрос, с чем это может быть связано?


     06.02.2015    Общие вопросы    1105

вопрос
Здравствуйте, у меня вот какая проблема быстрый поиск очень долго обрабатывает запрос.
Скажите пожалуйста с чем это может быть связано?
Версия DLE 10.1
Скрипт выполнен за: 20,3511с
Шаблон создан за: 0,02363с
Запросы: 4
Выполнены за: 20,10477с
Расход оперативы 3,22Мб
0,01632690 сек. - [ SELECT * FROM dle_users WHERE user_id='1' ]
0,00435901 сек. - [ SELECT COUNT(*) as count FROM dle_post where approve = '0' ]
18,78280902 сек. - [ ]
1,30141211 сек. - [ ]

СПАСИБО.!

Ответа пока нет


Комментарии пользователей (10)

vitnet
218

2172 | 930

vitnet - 7 февраля 2015 00:16 - Эксперт

Запросы: 4

А показали только 2

shmel1985
2

146 | 63

shmel1985 - 7 февраля 2015 11:01 - Юзер


Потому что так отображается.

Recto
23

80 | 26

Recto - 7 февраля 2015 11:48 - Юзер

***Комментарий удален***

shmel1985
2

146 | 63

shmel1985 - 7 февраля 2015 16:09 - Юзер

Нашол запрос который долго обрабатывается,
5,01763701 сек. - [ SELECT dle_post.id, dle_post.autor, dle_post.date, dle_post.short_story, CHAR_LENGTH(dle_post.full_story) as full_story, dle_post.xfields, dle_post.title, dle_post.category, dle_post.alt_name, dle_post.comm_num, dle_post.allow_comm, dle_post.fixed, dle_post.tags, dle_post_extras.news_read, dle_post_extras.allow_rate, dle_post_extras.rating, dle_post_extras.vote_num, dle_post_extras.votes, dle_post_extras.view_edit, dle_post_extras.editdate, dle_post_extras.editor, dle_post_extras.reason FROM dle_post LEFT JOIN dle_post_extras ON (dle_post.id=dle_post_extras.news_id) WHERE dle_post.approve=1 AND (title LIKE '%Dying%Light%Ultimate%Edition%') ORDER BY date desc LIMIT 0,30 ]

Можно как то его упростить?

vitnet
218

2172 | 930

vitnet - 7 февраля 2015 17:45 - Эксперт

Если речь идет о быстром поиске то в файле en.../ajax/search.php такой запрос:
$db->query( "SELECT id, short_story, title, date, alt_name, category FROM " . PREFIX . "_post WHERE " . PREFIX . "_post.approve=1" . $this_date . " AND (short_story LIKE '%{$query}%' OR full_story LIKE '%{$query}%' OR xfields LIKE '%{$query}%' OR title LIKE '%{$query}%') ORDER by date DESC LIMIT 5" );

shmel1985
2

146 | 63

shmel1985 - 7 февраля 2015 18:08 - Юзер

Поменял запрос, время обработки тоже самое
10,84343910 сек. - [ SELECT dle_post.id, dle_post.autor, dle_post.date, dle_post.short_story, CHAR_LENGTH(dle_post.full_story) as full_story, dle_post.xfields, dle_post.title, dle_post.category, dle_post.alt_name, dle_post.comm_num, dle_post.allow_comm, dle_post.fixed, dle_post.tags, dle_post_extras.news_read, dle_post_extras.allow_rate, dle_post_extras.rating, dle_post_extras.vote_num, dle_post_extras.votes, dle_post_extras.view_edit, dle_post_extras.editdate, dle_post_extras.editor, dle_post_extras.reason FROM dle_post LEFT JOIN dle_post_extras ON (dle_post.id=dle_post_extras.news_id) WHERE dle_post.approve=1 AND (title LIKE '%VA%-%Top%40%Nederlandse%') ORDER BY date desc LIMIT 0,30 ]

Marek
56 | 13

Marek - 7 февраля 2015 21:14 - Юзер

найдите этот запрос в скрипте search.php и попробуйте изменить LIMIT 0,30 на 0,10

shmel1985
2

146 | 63

shmel1985 - 7 февраля 2015 21:37 - Юзер

Цитата: Marek
LIMIT

нет там такого LIMIT 0,30
Вот как там запрос происходит
            // ------ Запрос к базе    
            $from_num = $search_start + 1;
            
            if ($config['full_search']) {

                if( $sortby != "" ) $order_by = "ORDER BY " . $order_by; else $order_by = "";
                
                $sql_request = "$sql_find $order_by LIMIT $search_start,{$config['search_number']}";
    
            } else {
    
                $sql_request = "$sql_find ORDER BY $order_by LIMIT $search_start,{$config['search_number']}";
    
            }

vitnet
218

2172 | 930

vitnet - 7 февраля 2015 21:45 - Эксперт

Цитата: shmel1985
у меня вот какая проблема быстрый поиск очень ...

Судя по коду if ($config['full_search']) { это никак не быстрый поиск а расширенный!

/admin.php?mod=options&action=syscon

Цитата: Количество статей на страницу в результатах поиска
Количество найденных статей при поиске, которое будет выводиться на одну страницу в результатах поиска.

shmel1985
2

146 | 63

shmel1985 - 7 февраля 2015 21:48 - Юзер

Marek,
В админке сделал вывод результата поиска с 30 на 15 в 2 раза быстрее начало работать.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы