Mar*_*cci 6 mysql sql database rdbms currency
我需要在我的案例中使用RDBMS,MySql 存储货币汇率交叉表的值(例如http://www.exchangerates.org.uk/currency/currency-exchange-rates-table.html).
用户将每天更新数字,系统将存储不同的版本.
我想知道你将如何设计表格或者你是否想要模型.
当然,最简单的方法是使用带有from,to和values列的表
from: char(3)
to: char(3)
value: decimal(6,4)
inverse_value: decimal(6,4)
Run Code Online (Sandbox Code Playgroud)
但我很想知道是否有其他(更好的)解决方案.
非常感谢.
编辑
如果不清楚我会道歉,但我对性能和可扩展性特别感兴趣.
保持value/inverse_value结构并给出90种货币,货币兑换交叉表每天需要4,050条记录.
如果每天创建一个新版本,在一年内将有1,478,250个记录,并且查询可能开始受到影响.
我已经实现了这个表,它运行得很好,渲染交叉表非常快,我很满意.
我只是想知道是否有更好的方法来实现这一点.
这看起来是一个好的开始,我还会添加一个日期字段(如果您只每天更新这些值,而不是日期时间字段)。所以也许是这样的:
currency_code_from: char(3)
currency_code_to: char(3)
conversion_value: decimal(6,4)
inverse_conversion_value: decimal(6,4)
effective_date: date()
Run Code Online (Sandbox Code Playgroud)
我不确定您计划查询表的各种方式是什么,因为这将决定您的索引要求,但我可能会在currency_code_from、currency_code_to和effective_date字段中使用复合主键,然后根据您的特定需要添加任何索引查询。
然后,您可能需要一个额外的表来存储货币名称和货币符号(如果需要显示)(如果您想使用它,也可能链接到国旗图像)
currency_code: char(3)
currency_name: varchar(50)
currency_symbol: char(3)
currency_image: varchar(100)
Run Code Online (Sandbox Code Playgroud)
该表的主键是currency_code。
| 归档时间: |
|
| 查看次数: |
7858 次 |
| 最近记录: |