Здравствуйте!
Есть таблица artists, которая хранит только id и имя артиста и есть функция на PHP:
function addArtist($getArtist)
{
// Проверяем есть ли в БД такой артист
$query = 'SELECT `id` FROM `artists` WHERE `name` = "'.$getArtist.'"';
$result_artist = mysql_query($query);
$result_artist_row = mysql_fetch_row($result_artist);
// Если есть, то берем его id, иначе добавляем
if ($result_artist_row[0]) { $idArtist = $result_artist_row[0]; }
else
{
$query = 'INSERT INTO `artists` VALUES (NULL, "'.$getArtist.'")';
$result_artist = mysql_query($query);
$query = 'SELECT `id` FROM `artists` WHERE `name` = "'.$getArtist.'"';
$result_artist = mysql_query($query);
$result_artist_row = mysql_fetch_row($result_artist);
$idArtist = $result_artist_row[0];
}
return $idArtist;
}
В функцию поступает имя артиста, нужно:
1. проверить есть ли уже такой артист
2. если есть, то просто вернуть его id, если нет, то добавить артиста и вернуть его id
В итоге получилось 3 запроса на функцию. Проблема в том, что таких артистов сотни и все сильно тормозит, можно ли как-то сократить число запросов?