我想知道,因为我正在编写搜索表单并使用思维sphinx和过滤属性,似乎只接受整数,但我的国家/地区作为包含其名称的字符串存储在数据库中.
因此,我将创建自己的国家/地区列表,其中包含要在选择菜单中显示的字符串,以及要作为整数存储在数据库中的值.只是想知道为什么我正在使用的gem(ruby on rails)的开发人员决定创建一个只包含字符串的数组.
这个问题不是特定于编程语言的.数据库是一个数据库.
亲切的问候.
解决方法:
我建议将这些国家放在一个单独的表中,并为每个国家分配一个唯一的ID.它没有任何害处,但确实使数据库结构更加灵活.这样,您可以根据需要添加与国家/地区相关的更多信息,并在需要时将其他表与其相关联.
通过字符串查找行甚至可能是性能问题.查询另一个表来查找国家ID不应该产生太大的压力.