Я задаю этот вопрос, потому что мне нужно знать это ограничение, поскольку я генерирую запрос SELECT в моем PHP-скрипте, и часть WHERE в этом запросе генерируется внутри цикла.
Точно так выглядит
$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, чтобы настроить его (и его нужно настроить и на вашем клиенте). Типичными значениями по умолчанию являются либо 1mb, либо 16mb …