日期:2014-05-17  浏览次数:20737 次

架构设计问题
做国际话的时候,客户需求发生改变。(客户是做酒产品的交易的),客户要求如下:

1,酒的产品信息有3种情况,(只有中文信息,只有英文信息,既有中文信息也有英文信息);

2,前台显示信息的时候,中文环境下只显示有中文信息的酒产品(即上面所属的只有中文信息和既有中文也有英文信息的酒产品),英文环境下只显示有英文的信息的酒产品(即上面所属的只有英文信息和既有中文信息也有英文信息的产品);

我们以前以为客户只是需要实现网站的国际化功能,所以在酒产品信息表里面,中文字段对应也设有英文字段,在中英文切换的时候只需要显示相对应的字段信息即可。

但现在客户的要求不是这样的,要求如上面说述。

所以我们现在的解决方案是,从新设计表,酒产品对应2张表,一张中文信息表,一张英文信息表。进入Action的时候根据系统环境调用中文信息表,或者英文信息表。如果这样做,那我们之前只设计了一张表,现在就需要添加dao,添加service,然后修改之前的service,在修改Action,工作量会变大。

还有人提议,在之前的表加一个字段,根据字段加载具体的内容,这样的话,修改不打,但是有点复杂。

我当时跟我们头说,我们可不可以不添加任何东西,让具体的查询交给sql语句来做,比如中文环境下显示只有中文信息的产品,只需要利用sql语句判断英文字段 is null 就可以了,但是经理is null查询效率低。否决了。。

我现在想问问大虾,这样的情况有没有什么好的解决方案?

------解决方案--------------------
探讨
我还想问下,如果是联合主键,对应查询的时候会不会有性能上的影响,在大数据量的情况下。