您好我在web like this工作,具有此结构
ALL Matchs Packets{
Soccer{
France{
Liga A:{
Team A vs Team B{
Bettype A{}
Bettype V{}
Bettype AA{}
Bettype DD{}
}
Team C vs Team D{
....
}
Team E vs Team F{
....
}
}
Liga B:{...}
Liga C:{...}
}
Spain{
Liga A:
Liga B:
Liga C:
}
England{
Liga A:
Liga B:
Liga C:
}
},
Basket{
...
...
}
}
我有一个主表,其中包含match,Id_match,Sport,Country,League,Team A,Team B等的详细信息。 另外,我有一个每个bettype的表格,包含id_match和其他特定数据。 我正在使用50多个表,我的网站是php,数据库是mysql。然后我根据每个bettype(在1个咨询中的所有leftjoin)与leftjoin进行咨询,并且与id_event链接,我的咨询返回json的结果,并且在我的html5中,我使用angularjs进行显示。 有些匹配包含所有表的数据,但其他匹配在某些bettypes中显示为null,这是可以的,因为每个bettype都是特定的。 我正在使用Angularjs然后我只需要调用一次数据库,因为我可以过滤,隐藏,分组等;在客户端
我担心的是优化,我想知道这样的咨询是否合适,因为,想象这样做300场比赛和60桌有投注类型。
我认为在创建一个菜单来过滤Sport-> Country->联盟并且只为这个特定组进行咨询,为此,我只使用了我的主表(只有1个表),但是我的问题是的,如果很多人多次呼叫数据库,会发生同样的磨损吗?或者这是解决方案?
答案 0 :(得分:0)
由于访问者特定的过滤将在客户端,因此所有访问者将获得相同的完整数据集。可以缓存和更新json文件,例如每一分钟。 数据库上的负载将与访问者数量无关。
所有需要加入但很少更新的数据都可以缓存在一个表中。更新过日常。查询将不那么复杂和快速。