我目前正在开发一个存储和显示货币数据的web服务。我有两个MySQL表,CurrencyTable和CurrencyValueTable。
CurrencyTable保存货币的名称以及它们的描述等,如下所示:
CREATE TABLE CurrencyTable ( name VARCHAR(20), description TEXT, .... ); CurrencyValueTable在一天中保存货币的价值-当市场开盘时,每2分钟就会插入一个新值。表格如下所示:
CREATE TABLE CurrencyValueTable ( currency_name VARCHAR(20), value FLOAT, 'datetime' DATETIME, ....);
关于这个设计,我有两个问题:
1)我有200多种货币。每种货币都有一个单独的CurrencyValueTable,还是把它们都放在一个表中更好?
2)我需要能够显示货币的当前(最新)价值。是直接将这样的字段插入到CurrencyTable中并每两分钟更新一次,还是使用如下语句更好:SELECT value FROM CurrencyValueTable ORDER BY 'datetime' DESC LIMIT 1
第二种选择似乎更慢..我倾向于第一个(也更容易实现)。
任何意见都将非常感谢!
附注:-请忽略SQL语法/其他错误,这是我胡乱键入的。
谢谢!
发布于 2011-04-13 11:48:30
回答您的问题:
另外,我将使用DECIMAL(10,2)而不是浮点数。在MySQL 5.0之后,当涉及到四舍五入的货币处理时,这实际上会有更好的结果。
发布于 2011-04-13 11:41:06
发布于 2011-04-13 11:47:14
https://stackoverflow.com/questions/5644120
复制相似问题