Bor-ka
Новичок
Помогите оптимизировать логику запросов (+)
Имеется массив с ключевыми словами $array
В массиве содержатся слова. В $page_id содержится ID страницы, для которой данный массив слов.
Необходимо вставить слова в таблицу слов - search_words_table а также вставить в таблицу соотвтетсвий страниц и поисковых слов - search_index_table
Индексы в search_words_table по search_words_id и search_words_word
Код работает для массива из 3500 слов примерно 11 секунд. Каким образом можно добиться сокращения времени работы или изменить логику?
Имеется массив с ключевыми словами $array
В массиве содержатся слова. В $page_id содержится ID страницы, для которой данный массив слов.
Необходимо вставить слова в таблицу слов - search_words_table а также вставить в таблицу соотвтетсвий страниц и поисковых слов - search_index_table
Индексы в search_words_table по search_words_id и search_words_word
Код работает для массива из 3500 слов примерно 11 секунд. Каким образом можно добиться сокращения времени работы или изменить логику?
PHP:
foreach ($array as $res)
{
$words_result = $mysql->select("SELECT search_words_id FROM search_words_table WHERE search_words_word = '".$res."' limit 0,1");
# Если нет слова - вставляем
if ($mysql->get_count_row() == 0)
{
$mysql->query("INSERT INTO search_words_table (search_words_word) values ('".$res."')");
$word_id = mysql_insert_id();
}
else # Если есть слово - получаем его ID
{
$row = mysql_fetch_array($words_result);
#
$word_id = $row['search_words_id'];
}
$mysql->query("INSERT INTO search_index_table (search_words_id, search_page_id) values (".$word_id.",".$page_id.")");
}