百万记录级MySQL数据库及Discuz!论坛优化[转]

jerry mysql
最近,帮一个朋友优化一个拥有20万主题,100万帖子,3万多会员,平均在线人数2000人的Discuz!论坛,采用Linux2.6+Apache2+mod_php5+MySQL5,服务器配置为双至强+4G内存,优化前,系统平均负载(load average)基本维持在10以上,MySQL的...
阅读全文

详解MySQL中EXPLAIN解释命令

jerry mysql
explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。 使用方法,在select语句前加上explain就可以了: 如: explain select surname,first_name form a,b where a...
阅读全文

MySQL存储过程和函数的写法

jerry mysql
存储过程 drop procedure if exists temp; delimiter // CREATE PROCEDURE temp () BEGIN      declare V_RETUR int;     begin &nbs...
阅读全文

MySQL优化 之 Discuz论坛优化

jerry mysql
一. 前言 近日由于需要,对discuz论坛(简称dz)进行优化,当然了,只是涉及到数据库的优化. 先说一下服务器及dz的数据量,2 * Intel(R) Xeon(TM) CPU 2.40GHz, 4GB mem, SCISC硬盘. MySQL 版本为 4.0.23. 数据表情况: cd...
阅读全文

优化临时表使用,SQL语句性能提升100倍

jerry mysql
【问题现象】 线上mysql数据库爆出一个慢查询,DBA观察发现,查询时服务器IO飙升,IO占用率达到100%, 执行时间长达7s左右。 SQL语句如下: SELECT DISTINCT g.*,

关于 MySQL LEFT JOIN 你可能需要了解的三点

jerry mysql
即使你认为自己已对 MySQL 的 LEFT JOIN 理解深刻,但我敢打赌,这篇文章肯定能让你学会点东西! ON 子句与 WHERE 子句的不同 一种更好地理解带有 WHERE ... IS NULL 子句的复杂匹配条件的简单方法 Matching-Con...
阅读全文

[MySQL FAQ]系列 — 新手必看:一步到位之InnoDB

jerry mysql
前言:MySQL发展到今天,InnoDB引擎已经作为绝对的主力,除了像大数据量分析等比较特殊领域需求外,它适用于众多场景。然而,仍有不少开发者还在“执迷不悟”的使用MyISAM引擎,觉得对InnoDB无法把握好,还是MyISAM简单省事,还能支持快速COUNT(*)。本文是由于最近几天帮忙...
阅读全文

MySQL联表查询及联表删除的方法

jerry mysql
MySQL联表查询及联表删除都是经常需要用到的操作,下面对MySQL联表查询和联表删除都作了详细的介绍分析,希望对您有所帮助。 MySQL联表查询: reference mysql manul: 3.2.7. SELECT语法13.2.7.1. JOIN语法 13.2.7.2. UNION...
阅读全文

MySQL 三种关联查询的方式: ON vs USING vs 传统风格

jerry mysql
看看下面三个关联查询的 SQL 语句有何区别? SELECT * FROM film JOIN film_actor ON (film.film_id = film_actor.film_id) SELECT * FROM film JOIN film_actor