хранимые процедуры mysql поддерживают типы данных, такие как массив, хэш и т. д.? - PullRequest
1 голос
/ 22 апреля 2010

Я создаю функцию mysql, которая принимает varchar и заменяет его на int на основе таблицы сопоставления.

select name, convert_to_code(country) from users where sex = 'male'

здесь функция convert_to_code() берет название страны (например, Япония, Финляндия ..) и заменяет его на код страны, который является целым числом (например, 1001, 2310 ..), на основе таблицы сопоставления, называемой country_maping как ниже:

country_name (varchar) | country_code (int)
Japan                  | 1001
Finland                | 2310
Canada                 | 8756

В настоящее время хранимой функции нужно select country_code from country_mapping where country_name = country_name и вернуть результат запроса. Возможно ли создать структуру хэш-данных в SP для оптимизации процесса, чтобы не требовалось выполнять запрос для каждой строки, соответствующей условию where.

спасибо заранее!

1 Ответ

0 голосов
/ 22 апреля 2010

Вы должны просто использовать таблицу, как вы делаете.

Если вы создадите индекс покрытия для этих двух столбцов, он должен сделать его максимально эффективным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...