首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何衡量加入多少mysql才能带来最佳性能?

问如何衡量加入多少mysql才能带来最佳性能?
EN

Stack Overflow用户
提问于 2012-01-08 12:13:59
回答 2查看 130关注 0票数 0

我将查询发送到一个非常大的数据库(意味着许多实体/表)。因此,我有一些疑问,其中包括大约7到8个联接。问题是,我不知道这些表在不久的将来会有多少个条目。每个表可能在1.000到100.000行之间(甚至更多)。

我想把我的查询分割成连续执行两到三个查询,而不是一个超级查询。

在JOIN查询中是否存在公共/推荐的MySQL限制?如何度量/计算哪种类型的拆分是一个很好的变量(取决于表中的行数等等)?

我在同一个表的同一个字段(外键)上有许多JOIN。是否也有优化的方法?(该表中的一行-有许多关系/连接)。

(谢谢;)

更新:

我看得太晚了。有人太好了,改了问题的标题。因为我的英语不好,所以我写了表演赛--意思是有好的表现。我不是有意表演的!请在你的回答中考虑这一点。再次感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-08 12:27:57

您可能想了解“解释”,这将向您展示MySQL执行查询的计划。e.g

代码语言:javascript
复制
 EXPLAIN SELECT foo FROM bar NATURAL JOIN baz

将告诉您MySQL将如何执行查询,从bar自然连接baz中选择foo

从解释结果中,您可能会看到向数据库添加索引的机会,如果查询速度慢,这些索引将有助于查询;在某些情况下,您可能能够向查询添加提示,例如,如果您有经验,告诉MySQL选择一个索引而不是另一个索引。

通常,除非您的“拆分”实际上完全改变了需要执行的内容的语义,否则尝试“拆分”查询将一无所获。例如,如果您的查询从数据库中获取了6个无关的东西,并且将其重写为每一个查询都有6个单独的查询,那么执行所需的总时间可能不会更好(而且可能会更糟)。

票数 2
EN

Stack Overflow用户

发布于 2012-01-08 12:22:17

使用'desc (查询);‘来了解MySQL将如何对待您的查询。通常情况下,让MySQL来完成连接和优化要比自己做要好。这就是它擅长的地方。

这也将告诉您索引在哪里工作或需要增强。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8777403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档