我正在运行一个开始超越简单性能和Tunning的网站.这是一个PHP应用程序,MysqL作为后端.正确调整MysqL并优化代码.
问题是,我发现我可以使用某种非规范化来加快速度.
假设您有一个类似于ebay或亚马逊的网站.您的数据库中有产品,其中包含一些相关信息(卖家,购买产品的客户,城市,州等).这将是Relational DataBase中的多个表,并且很好地保持这种方式以获得良好的查询.但是,例如,对于主页,您可以使用一个非规范化文档(例如,在MongoDB中).可以是最新产品的集合,denormalied,类似于:
products = {
{
id:13,name:"Some product",city:"aCity",state:"aState",price:"10"
},{
id:123,name:"another product",price:"10"
}
}
这样,我可以查询该集合而不是MysqL数据库(包含所有连接),事情可以变得非常快.
现在,问题就在这里.何时以及如何对数据进行非规范化?
例如,我可以决定在插入数据时对数据进行非规范化.
所以,在我的“create-product.PHP”中(简单地说).我可以为MysqL做所有“插入”,之后我可以保存到Mongo集合.
或者,我可以在服务器中运行一个程序.或者让一些cron来寻找最新产品.
所有这些都是可能的.你是做什么?你的经验是什么?
非常感谢.
如果觉得《php的关系数据库 php – 从关系数据库到非关系数据库的数据规范化的最佳实践...》对你有帮助,请点赞、收藏,并留下你的观点哦!