Mysql 我真的需要为这个案例设计两张桌子吗?
我计划在我的数据库中实时存储全局索引。 如本链接所示 为此,我提出了以下设计Mysql 我真的需要为这个案例设计两张桌子吗?,mysql,Mysql,我计划在我的数据库中实时存储全局索引。 如本链接所示 为此,我提出了以下设计 CREATE TABLE regions( region_name varchar(100), ) CREATE TABLE index_values( region_name varchar(100), country_name varchar(50), symbol_name varchar(50), LastTradePrice varchar(20)
CREATE TABLE regions(
region_name varchar(100),
)
CREATE TABLE index_values(
region_name varchar(100),
country_name varchar(50),
symbol_name varchar(50),
LastTradePrice varchar(20),
ChangeinPercent varchar(20),
Changeinpoints varchar(20),
LastTradeTime varchar(20),
FOREIGN KEY reg_index(region_name)
REFERENCES regions(region_name)
)
我的问题是,我真的不认为做两张桌子有什么用??
我是否可以继续使用一个表,或者我是否遗漏了任何内容???这取决于您打算如何使用数据。如果您计划主要读取索引_值,并且读取性能很重要,那么将所有数据反规范化到这个表中是一种很好的方法,您可以删除“regions”表及其外键 另一方面,如果您预见到希望在某一点重命名某个区域,则最好将不同表中的区域分隔为“区域”,这样您只需更新一个区域记录,而不必使用该区域更新所有索引值记录。在这种情况下,您需要从index\u values表中删除region\u name字段 你可能想好好读一读 我会考虑一个不同的名字,因为索引是数据库的一个重要部分,它太混乱了。也许是“金融指数”