2013-10-27 2 views
3

Итак,таблица настроек mysql - теория db

Мне нужна таблица настроек для управления некоторыми частями моего веб-приложения.

Я пришел с этим:

CREATE TABLE `settings` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT, 
    `key` char(55) NOT NULL DEFAULT '', 
    `value` longtext NOT NULL, 
    PRIMARY KEY (`id`), 
    UNIQUE KEY `key` (`key`) 
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8; 

enter image description here

мне было интересно, если это было бы полезно, чтобы разделить настройки в Int и текстовые containign из них. Поэтому в другой таблице было бы все, кроме words_stop и т. Д.

Как вы думаете? это выгодно? или я могу просто придерживаться longtext и иметь все в одной таблице?

ответ

0

Нет никакой реальной точки в их отделении, нет.

Два основных преимущества, которые вы получаете, сохраняя числа в виде числа, - это то, что вы иногда сохраняете менее фактические биты, и легче выполнять математику по фактическим типам номеров в некоторых СУБД. Я сомневаюсь, что вы столкнетесь с проблемами космоса, и я сомневаюсь, что вы будете делать математику с этими значениями. Не стоит выделять их, это будет просто беспорядочно.

0

Я не думаю, что это повлияло бы слишком много на производительность. Если вы создаете другую таблицу для хранения текста, тогда вам понадобится еще один столбец для хранения внешнего ключа, а затем привязка таблицы к таблице settings.

Это может быть полезным в случае, когда у вас есть очень большой стол, и есть много столбцов в таблице, и вы выбираете значения из таблицы с помощью *

Смежные вопросы