MySQL – INNER JOIN 12个包含LIMIT 30或创建视图或非规范化的表?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL – INNER JOIN 12个包含LIMIT 30或创建视图或非规范化的表?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1374字,纯文字阅读大概需要2分钟。
内容图文
我正在使用MySQL,所有事务的规范化表.
现在,我需要将数据作为Log获取,但是需要加入超过12个表来记录我们需要查看的所有数据,只有最后提交的30个数据(完成/拒绝)将显示在分页(日志页面1)中但仍然有下一个30的分页.
9 INNER JOIN
3 LEFT JOIN (It's Admin Order Form when customer Ordering via Offline (friend))
WHERE order_status = 1 OR order_status = 2 (done & reject)
ORDER BY order_date DESC
LIMIT 30 (limiting 30 per page with pagination)
The order data is more than 2.000.000 rows for 4 tables in INNER JOIN connected in PK & FK.
如果我加入12张桌子或者我应该做其中的一件,那会有什么问题吗?
1. Create View in MySQL
**OR**
2. Denormalize data (Create 1 more table for order_log), but I think it would
cost so many storage size
**OR**
3. Using SSD ?
有时我们需要确保使用规范化保存存储,有时我们需要更快的性能. (但仍然不想使用非规范化数据进行日志,因为数据大小).
有解决方案吗谢谢.
解决方法:
我靠.
> VIEW只是语法糖.它没有提供额外的性能.但是,它可能使您的SQL更容易阅读.
>非国有化可能有所帮助.改革可能有所帮助.更重要的是,首先关注找到30行可能会有所帮助.然后处理其余的JOIN. (没有看到查询,我不能更具体,包括哪些列在哪些表中.)
>如果您受I / O限制,SSD将有所帮助.有数千行,您不太可能受I / O限制.一百万行可能会有所不同. (需要更多信息来详细说明.)
>不要标准化“连续”值,例如FLOAT或DATETIME.很可能使“范围”测试效率低下. More discussion.
>请提供SHOW CREATE TABLE,EXPLAIN SELECT …
> ENUM有时是节省空间和避免标准化的好方法.
内容总结
以上是互联网集市为您收集整理的MySQL – INNER JOIN 12个包含LIMIT 30或创建视图或非规范化的表?全部内容,希望文章能够帮你解决MySQL – INNER JOIN 12个包含LIMIT 30或创建视图或非规范化的表?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。