mysql - 当我在一张表中有数百万条记录时如何提高性能?
问题描述
我有两张桌子。
库存
这是我拥有数百万条记录的地方,并且每晚都在不断增长。每个库存都分配有唯一的代码
它有大约 50 列。
现在事情是这样的,我们有另一个表:
save_these_inventories
我们将此处的唯一代码与上述库存表相匹配。如果匹配,则我们将整个记录下载到“save_these_inventories”表中。
从表 A -> 记录转到表 B
然而,首先搜索库存表需要花费大量时间,它必须通过数百万条记录与唯一代码匹配。如果找到,则导入“save_these_inventories”表。
然后我们将这些项目放在仪表板上,当然在仪表板页面上加载速度更快,因为它在导入记录后从“save_these_inventories”加载。行数较少
但是我正在考虑改变它现在的工作方式,但不确定它是否会提高或降低性能。
这是我的方法。与其将所有内容导入“save_these_inventories”表,为什么我不匹配唯一代码并将唯一代码分配给“save_these_inventories”。那么不用导入,而是使用内连接来获取数据而不导入呢?
但是我在想然后在仪表板上加载数据将永远需要,因为它必须为每个用户搜索数百万条记录?
处理此问题的最佳方法是什么?
解决方案
推荐阅读
- laravel - 元素未更新
- javascript - 是否可以创建使用 WebAudio API 来分析在没有 MP3 文件的情况下在浏览器中播放的声音?
- python - 制作从 1 到数字 n 的所有大小 k 的组合
- gitlab - GitLab Markdown 中的 Markdown 选项卡
- javascript - Javascript可以写在.edge文件中吗?
- .net - “IdentityType”中的“名称”是什么(System.DirectoryServices.AccountManagement)
- java - 在 oracle maf 中 IDCS 登录后如何检查 Java 中的 HTTP Basic 用户身份验证?
- reactjs - 反应表单动态输入字段
- php - 使用 Symfony 4 和 Doctrine 2 实现存档表
- firebase - 使用 Firebase 凭据访问谷歌云存储