запрос выполняется больше 30 секунд

Geser

Новичок
запрос выполняется больше 30 секунд

Весь скрип я не стал приводить, т.к. он большой(пока почти 100 строк).Сделаю некоторые пояслнения.
$url_real это массив урлов. Он разделяется на домен и страницу. После этого домен и страница записываются в таблицу, если в таблице уже не записан этот же домен. Если аписан, то просто добавляется странца. Массив у меня огромный. Поэтому сл запросы выполняются дольше, чем можно.
PHP:
        foreach ($url_real as $url_value)
                   {
                    //..........
                    $result = mysql_query("SELECT * FROM domain_list WHERE domain_name = '$domain' ");// ищем, есть ли в таблице домен=$domian
                     $result1 = mysql_query("SELECT domain_id FROM domain_list WHERE domain_name = '$domain' ");// получаем id если поиск дал результаты
                   //..........
                    }
Можно ли как-то побыстрее сделать?
 

Фанат

oncle terrible
Команда форума
что значит "огромный"?
почему ты пишешь "запрос выполняется больше 30 секунд", хотя запросов у тебя в эти 30 секунд исполняется куча?
 

Serguitar

Новичок->продвинутый
У тебя запрос выполняется больше 30 секунд или цикл?
 

realman

Новичок
Re: запрос выполняется больше 30 секунд

PHP:
$result1 = mysql_query("SELECT domain_id FROM domain_list WHERE domain_name = '$domain' ");// если поиск даст результаты - то тебе и вернется сразу ид. иначе, будет пусто
 

Geser

Новичок
что значит "огромный"?
9076 элементов.
почему ты пишешь "запрос выполняется больше 30 секунд", хотя запросов у тебя в эти 30 секунд исполняется куча?
У тебя запрос выполняется больше 30 секунд или цикл?
Цикл потому как сравнивается каждый элмент массива со всеми записями таблицы.А в таблице записей от 0 до 9076(по мере разделения урла накопляется). Отсюда такие и тормоза.
 

bkonst

.. хочется странного?...
А индекс по сравниваемому полю есть?
 

Geser

Новичок
А поподробнее можно, что это за индекс такой и зачем он нужен?
 

Geser

Новичок
Угумс.Ясненько.Индекс есть(PRIMARY),но по id.Как я понял, надо еще domain_name сделать индексруемым.
 

Geser

Новичок
Ага,вроде сделал.Если это не чистая случайность, то все работает прекрасно. Спасибо.Тему пока лучше не закрывать.Мало ли.
 
Сверху