我有一个包含 2 个字段的产品表。
1)产品的id int-7digits
2)产品名称
产品名称只能是 27 个不同的值,如香蕉、苹果等
现在我想知道我的网络服务器资源的最佳方法是什么。我的意思是我应该使用 1,2,3,... 值还是字符串值?
~编辑我的表将有大约 100 万行,并且随着时间的推移稳步增加。
为了便于阅读,您应该使用VARCHAR
名称字段。如果你必须在 9 个月后回到这个问题,并记住 1 是苹果还是香蕉,你会遇到很多困难。
因为我假设您必须打印出产品名称,所以您基本上是在选择 PHP 或 MySQL 中的字符串之间进行选择。要么SELECT * FROM fruit WHERE product_name = 'Banana'
要么SELECT * FROM fruit where product = 7
然后foreach($fruits as $fruit): if $fruit['id'] = $row['product'] { return $fruit['name']; } endforeach;
从 PHP 数组分配值也将比在字段上的 MySQL语句array(1 => 'apple', 2 => 'banana' ... 27 => 'eggplant');
使用更多的开销。您在数据库方面获得的任何性能都将在应用程序方面损失五倍。SELECT
VARCHAR