Создать функцию расстояния Хемминга в MySQL без супер привилегий
Я хотел бы использовать расстояние Хемминга в моей базе данных MySQL (используется поверх phpMyAdmin), но мне не удалось создать функцию с приведенным здесь кодом.
Я ссылаюсь на этот код:
CREATE FUNCTION HAMMINGDISTANCE(
A0 BIGINT, A1 BIGINT, A2 BIGINT, A3 BIGINT,
B0 BIGINT, B1 BIGINT, B2 BIGINT, B3 BIGINT
)
RETURNS INT DETERMINISTIC
RETURN
BIT_COUNT(A0 ^ B0) +
BIT_COUNT(A1 ^ B1) +
BIT_COUNT(A2 ^ B2) +
BIT_COUNT(A3 ^ B3);
Проблема в том, что у меня нет "супер привилегии". Я также пытался поместить этот код между DELIMITER //
(который работал для функции расстояния Левенштейна, см. ниже), но также это не решило проблему - я получил время:
Максимальное время выполнения 300 секунд превышено в
/usr/share/phpmyadmin/libraries/import/sql.php
по линии 132
В любом случае, я совсем новичок в MySQL, поэтому мне интересно, может ли кто-нибудь помочь мне с созданием функции Хемминга в MySQL другим способом.
Кстати, я также использую функцию расстояния Левенштейна, и создание этой функции работало нормально. Тем не менее, я увидел, что расстояние Левенштейна лучше использовать для вычисления расстояния между двумя строками и расстояния Хэмминга для числовых данных.
Благодарю.