Дополнительные функции MySQL
Информационные функции
BENCHMARK(количество, выражение)
Функция BENCHMARK() выполняет выражение в точности количество раз. Она может использоваться для определения того, насколько быстро MySQL выполняет выражение. Возвращаемый результат всегда равен 0. Предполагаемое применение - в среде клиента mysql, который сообщает время выполнения запроса:
mysql> SELECT BENCHMARK(1000000,ENCODE("hello","goodbye")); +----------------------------------------------+ | BENCHMARK(1000000,ENCODE("hello","goodbye")) | +----------------------------------------------+ | 0 | +----------------------------------------------+ 1 row in set (4.74 sec)
Время, которое сообщает mysql - это время обслуживания клиента, а не потраченное центральным процессором время на стороне сервера. Рекомендуется выполнить BENCHMARK() несколько раз, и интерпретировать результат в зависимости от степени загруженности сервера.
CHARSET(строка)
Возвращает набор символов аргумента строка.
mysql> SELECT CHARSET('abc'); -> 'latinl' mysql> SELECT CHARSET(CONVERT('abc' USING utf8)); -> 'utf8' mysql> SELECT CHARSET(USER()); -> 'utf8'
COERCIBILITY(строка)
Возвращает значение принуждения сопоставления для аргумента строка.
mysql> SELECT COERCIBILITY('abc' COLLATE latinl_swedish_сi); -> 0 mysql> SELECT COERCIBILITY('abc') ; -> 3 mysql> SELECT COERCIBILITY(USER()); -> 2
Возвращаемые значения имеют следующий смысл:
0 - явное сравнение
1 - нет сравнения
2 - неявное сравнение
3 - принуждаемое
Меньшие значения обладают большим приоритетом.
COLLATION(строка)
Возвращает наименование порядка сопоставления символьного набора для заданного аргумента строка.
mysql> SELECT COLLATION('abc'); -> 'latinl_swedish_ci'
CONNECTION_ID()
Возвращает идентификатор соединения (идентификатор потока) текущего сеанса. Каждое клиентское соединение получает свой собственный уникальный идентификатор.
mysql> SELECT CONNECTION_ID(); -> 23786