MySQL предпочитает числовые или буквенные типы?

0

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

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

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

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

 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
Лучший ответ

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

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

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

  • 1
    Также важно, чтобы №4 был типом INT или даже столбцом типа MEDIUMINT - я очень сомневаюсь, что вам когда-либо понадобится более 16 миллионов (MEDIUMINT) категорий, а если вам понадобится, то 4 миллиарда (INT) будет достаточно.
  • 0
    ах спасибо за совет .. я забыл об этом. Я изменил это на TINYINT.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню