加入收藏 | 设为首页 | 会员中心 | 我要投稿 武汉站长网 (https://www.027zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

使用临时表是否明智?

发布时间:2021-02-06 19:04:13 所属栏目:MySql教程 来源:网络整理
导读:我们有一个用于产品的mySQL数据库表.我们正在利用缓存层来减少数据库负载,但是我们认为最好将需要存储在缓存层中的实际数据最小化,以进一步加快应用程序的速度. 访问者可见的数据库中的所有产品都有附加的价格: 价格存储在另一个表中,称为价格.有多种价格

我们有一个用于产品的mySQL数据库表.我们正在利用缓存层来减少数据库负载,但是我们认为最好将需要存储在缓存层中的实际数据最小化,以进一步加快应用程序的速度.

访问者可见的数据库中的所有产品都有附加的价格:

价格存储在另一个表中,称为价格.有多种价格类别,具体取决于每个访客(客户)适用的折扣级别.有时会有活动,这意味着每种产品都有特殊的价格.特价存储在称为特价的表中.

>制作将表绑定在一起的临时表是否不好?

它仅具有必要的信息,并且当然将被缓存.

-------------|-------------|------------ 
| productId  |  hasPrice   | hasSpecial
-------------|-------------|------------ 
  1          |  1          | 0
  2          |  1          | 1

这样,就很容易知道特定产品是否真的有价格,而不必每次都要列出或展示产品时都要遍历完整的价格或特价表.

>临时表是Web应用程序的常识,还是设计不好? 最佳答案 您应该像处理其他任何性能问题一样处理它:确定所需的性能,然后重复在实验室中的生产级硬件上进行测试.不要做不必要的优化.

您应该分析您的应用程序,并发现它执行的查询太多还是查询本身很慢;大多数网络应用程序运行缓慢的情况都是由进行过多查询(以我的经验)引起的,尽管查询非常简单.

通常,最佳的工程解决方案是重组数据库(在某些情况下会进行非规范化),以使普通读取用例需要较少的查询.缓存也可能会有所帮助,但重构通常是最好的,因此您需要较少的查询.

本质上,如果您计划进行比写更多的读取,则可以增加写路径上的工作量,以减少读路径上的工作量.

(编辑:武汉站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读