如何最好地对表

时间:2016-10-26 12:10:08

标签: mysql

我正在为工作中的项目设计新数据库。我想创建一个存储数字教室作业的表格。每个作业可以是以下两类之一:“Individual”“Group”

首先想到的实现如下:

CREATE TABLE `assignments` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(255) DEFAULT NULL,
  `category` varchar(10) NOT NULL DEFAULT 'individual',
  PRIMARY KEY (`id`),
  KEY `category_index` (`category`(10))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

然后我会选择给定类别的所有作业:

SELECT title FROM assignments WHERE category = "individual"

但是,因为我们过去曾遇到性能问题,所以我试图尽可能地优化设计。因此,我想知道将category存储为VARCHAR是否是一个好主意(考虑到表会变得非常大)?索引INT的效果会比VARCHAR更好吗?

除了表现之外,我还很好奇从设计角度看什么是一个好的解决方案。建议?

0 个答案:

没有答案