将数据存储为varchar或tinyint并使用开关

时间:2015-10-12 13:30:15

标签: php mysql

可能是一个非常简单的问题,但我不确定如何自己测试..

想象一下,我有一个mysql表,比方说30000行。 每行都有一列car_brand。 在我的phpform中,我选择了以下汽车品牌:Mercedes, Audi, Chevrolet, Volkswagen, Opel

向用户展示汽车品牌的最快(使用内存较少)方式是什么?

使用tinyint并说出0 = Mercedes1 = Audi2 = Chevrolet ...并在CASE声明中使用SELECT或使用php switch()之前在HTML表中显示它还是将数据保存为varchar更好?

希望有人有明确的答案;)

1 个答案:

答案 0 :(得分:1)

正确的方法是为品牌使用单独的参考表:

CarBrandId

然后使用join参考其他表格中的汽车品牌,并使用enum获取品牌名称。这是处理引用表的正确方法。

如果您真的反对参考表,那么您可以使用 dtTable = $('#lookupTable').DataTable({ "columnDefs": [ { "targets": [ 0 ], "visible": false, "searchable": false } ], aaData: data, aoColumns: cols, paging: false, scrollCollapse: true, destroy: true });