MySQL предпочитает числовые или буквенные типы? - PullRequest
0 голосов
/ 15 января 2011

Для базы данных mysql лучше использовать (для производительности и т. Д.) Буквы или цифры для хранения данных?

Вот что я имею в виду, 3 примера: (125015 представляет категорию Arts & Entertainment)

  1. Столбец varchar(255) с именем category со значением строки Arts and Entertainment.
  2. Столбец varchar(255) с именем category_num сзначение строки 125015
  3. столбец bigint(255) с именем category_int со значением строки 125015

Итак, для оператора выбора .. Запрос из какого столбца позволитсервер работает лучше?

 1. SELECT from table WHERE
    category = 'Arts and Entertainment'
 2. SELECT from table WHERE
    category_num = '125015'
 3. SELECT from
    table WHERE category_int = 125015

Кроме того, будут ли какие-либо преимущества (по сравнению с exaple 1) для использования примера 2, который хранит числа внутри varchar, а не int?

1 Ответ

1 голос
/ 15 января 2011

Чем меньше тип данных, тем меньше будет индекс по нему и тем быстрее будет поиск.

Числа явно лучше, чем строки. Известно, что сравнение строк выполняется очень медленно.

Пример 2 будет по-прежнему менее эффективным, чем # 3, хотя, возможно, несколько быстрее, чем # 1, поскольку строковое значение в # 2 короче, но в любом случае # 1 и # 2 относятся к одной категории производительности.

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