【问题标题】:(My)SQL Basics and much more(Mysql 基础知识等等
【发布时间】:2010-11-18 13:09:51
【问题描述】:

我使用 MySQL 已经有一段时间了。大多数时候,我将它与 PHP 一起用于 Joomla 开发。到现在为止,我并没有很关注优化,因为我通常被要求尽快完成。

现在,虽然我知道 ASAP 因素是现实,但我想提高我对关系数据库的了解,以及对查询和数据库优化的良好反思。我计划开始使用一些相当大的数据库,而我通常的方法是不可能的。

有没有推荐一些该地区的好书?

提前致谢。

【问题讨论】:

  • 我也收到了很多 ASAP 请求。我对 MySql 了解的一件事是:它并非没有错误。我们遇到了Command.Timeout = 0 没有影响的问题(记录在最新版本的 MySql 中)。在现场拥有一名 DBA 将有助于进行任何优化,但我知道我们并不是所有人都享有这种奢侈……如果我只有一个愿望,那就是我们可以得到一名 DBA。

标签: mysql query-optimization


【解决方案1】:

Joe Celko's SQL for smarties, 4th ed.

The Art Of SQL

Refactoring SQL Applications

我不建议您只专注于 MySQL。相反,如果可以,请尝试获得一些使用其他 DBMS 的经验,其中高级优化器可以让您的工作更轻松。

【讨论】:

  • 谢谢你,Marco,我认为你提供了有关通用书籍的信息(不是仅 mysql)
  • 是的,但最后一个明确比较了 mysql-oracle-sql 服务器以及它们如何根据一些优化、图表等(仅相对测量)
  • 我可能会重构 SQL 应用程序,因为我同时使用 MySql 和 SqlServer。
【解决方案2】:

如果使用 linux shell,我推荐mtop 应用程序来观察正在发生的事情。

在 mysql 配置中,您可以指定记录慢速查询: http://www.webdevelopmentstuff.com/112/optimizing-mysql-log-slow-queries.html

还有一个参数定义什么是长查询。绝望时将其设置为 0 :) 我曾经在调试 CMS 时遇到过,该 CMS 不断发送数千个请求,每个请求花费 0.00001 秒。

我还发现了这个:http://dev.mysql.com/tech-resources/articles/using-new-query-profiler.html

我建议阅读一下索引。

对于带有慢查询日志的 php+mysql,了解 Apache Bench 命令也很有用: ab -c10 -n50 http://... 调用该地址 50 次,并发请求多达 10 个。

这只是一个提示列表。无论如何它都不完整。

【讨论】:

  • 谢谢,我在家用的是ubuntu,所以我去那边看看。
猜你喜欢
  • 2011-04-13
  • 1970-01-01
  • 1970-01-01
  • 2016-10-04
  • 1970-01-01
  • 2014-04-16
  • 2018-05-25
  • 2014-11-28
  • 2014-02-14
相关资源
最近更新 更多