我该怎么做才能使mysql 100%达到最佳状态?

goo*_*ing 2 php mysql optimization

最近我用php + mysql做了一个很大的项目.现在我关心我的mysql.我该怎么做才能使我的mysql尽可能最佳?告诉你所知道的一切,我将非常感激.

第二个问题,我每页加载一个mysql查询,从mysql获取信息.这是一个非常大的查询,因为我通过连接从几个表中获取信息.也许我应该做点什么呢?

谢谢.

Yad*_*ada 16

来自MySQL Performance tips forge的一些重要提示

具体查询性能:

  1. 使用EXPLAIN来分析查询执行计划
  2. 使用慢查询日志(始终打开!)
  3. 当您拥有或可以使用GROUP BY Insert性能时,请勿使用DISTINCT
  4. 批量INSERT和REPLACE
  5. 使用LOAD DATA而不是INSERT
  6. LIMIT m,n可能没有听起来那么快
  7. 如果您有> ~2K记录,请不要使用ORDER BY RAND()
  8. 选择频繁更新的数据或大量数据时,请使用SQL_NO_CACHE
  9. 在LIKE查询开始时避免使用通配符
  10. 避免使用相关子查询以及select和where子句(尽量避免使用)

扩展性能提示:

  1. 使用基准测试
  2. 隔离工作负载不会让管理工作干扰客户的性能.(即备份)
  3. 调试糟透了,测试岩石!
  4. 随着数据的增长,索引可能会发生变化(基数和选择性变化).结构化可能想要改变.使您的架构与代码一样模块化.使您的代码能够扩展.计划并拥抱变革,并让开发人员也这样做.

网络性能提示:

  1. 通过仅提取您需要的内容来最小化流量.1.分页/分块数据检索以限制2.不要使用SELECT*3.如果更长的查询可以更有效,请注意许多小的快速查询
  2. 如果合适,请使用multi_query以减少往返次数
  3. 使用存储过程可以避免带宽浪费

OS性能提示:

  1. 使用适当的数据分区1.对于Cluster.需要之前开始考虑Cluster
  2. 保持数据库主机尽可能干净.你真的需要在该服务器上使用窗口系统吗?
  3. 利用操作系统的优势
  4. 削减cron脚本
  5. 创建一个测试环境

  • 一个不完整的问题很好的答案:) (2认同)