ПХП генерирует массивы ~ 10 - 1000 элементов :
$arr[0] = array('_а','_т',....'я_');
....
$arr[5] = array('_ааава','_ааавб',...'пк_бго',.....'яяасс_');
из базы нужно выбрать все слова которые соответствуют "шаблонам"
код для $arr[5]:
$inq = "SELECT word FROM words WHERE size=6 AND (";
$count = count ($arr[5]);
for ($i=0;$i<$count;$i++) $inq_arr[$i] = " word LIKE '{$arr[5][$i]}' ";
mysql_query($inq.implode('OR',$inq_arr).')');
В итоге получается огромный запрос "SELECT word FROM words WHERE size=6 AND (word LIKE '_ааава' OR ... OR word LIKE 'яяасс_');"
Возможно ли как-то по-другому реализовать эту задачу ?
Заранее всем спасибо

Спустя 36 минут, 21 секунда (25.01.2010 - 17:19) Gabriel написал(а):
Гость_Александр
может так можно?
mysql_query("SELECT word FROM words WHERE size=6 AND word IN('".implode(','$arr[5])."')");
может так можно?
Спустя 45 минут, 23 секунды (25.01.2010 - 18:05) Guest написал(а):
Gabriel, спасибо за подсказку запрос выполняется раза в 4 быстрее
, только пришлось в цикле подставлять все буквы вместо _ , IN с масками не работает, короче было 1000 шаблонов, стало - 33000 , может есть еще какие варианты?

Спустя 8 минут, 12 секунд (25.01.2010 - 18:13) Gabriel написал(а):
не совсем доганяю объясни на кошках, что в базе и что нужно выдернуть.
ведь теоретически если у тебя в поле лежит _абабагаламага и ты в запрос подставляешь _абабагамага то должно выдернуть. Или у _ есть не просто символом?
ведь теоретически если у тебя в поле лежит _абабагаламага и ты в запрос подставляешь _абабагамага то должно выдернуть. Или у _ есть не просто символом?
Спустя 7 минут, 1 секунда (25.01.2010 - 18:20) Guest написал(а):
в базе слова (существительные), в шаблонах _ означает какую-нибуть букву алфавита, подставив которую из _абабагаламага получится слово , которое есть в базе, таким образом при использовании LIKE mysql возвращает все варианты в которых есть "абабагаламага" и еще один символ в начале слова, при использовании IN вместо _ нужно самому подставлять все возможные варианты