Я задаю этот вопрос, потому что я должен знать это ограничение, поскольку я генерирую Запрос Select в своем Сценарии PHP и части того, ГДЕ в этом запросе сгенерирован в цикле.
Точно это похоже на это
$query="SELECT field_names FROM table_name WHERE ";
$condition="metadata like \"%$uol_metadata_arr[0]%\" ";
for($i=1; $i<count($uol_metadata_arr); $i++){
$condition.=" OR metadata like \"%$uol_metadata_arr[$i]%\" ";
}
$query.=$condition;
$result=mysql_query($query);
Так, вот почему я должен знать, какой длины моя строка $query может быть, потому что $uol_metadata_arr массива мог содержать много объектов.
WHERE metadata IN ('value1', 'value2')
INSERT
запроса)LIKE '%string%'
является убийцей производительности. Такой запрос не может использовать индекс на этом столбце. LIKE 'string%'
, с другой стороны, является индексируемым
См. Глобальную переменную max_allowed_packet . Вам понадобится доступ к файлу my.cnf, чтобы настроить его (а также необходимо настроить его на вашем клиенте). Типичные значения по умолчанию: 1 или 16 МБ ...