MySQL优化

索引...索引...要命的索引

经历过的优化案例中,最经常碰到的就是索引的问题,要么没加索引,要么没用合适的索引,相信这也是做开发的朋友最经常碰到的盲区了,很容易就给忽略了。最近一次碰到的案例中,由于存储过程中需要创建临时表,把数据插入到临时表中,然后再做对比,开发人员认为是临时表没必要加索引,执行时间大概花了1个小时,加上索引后,不到2分钟就运行完了,至少30:1的效果啊,血淋淋的现实啊 :)

MySQL优化 之 Discuz论坛优化 -- 续

很早以前写过一个文章,是关于discuz论坛的优化:MySQL优化 之 Discuz论坛优化。写的时候是2006年,没想到过了这么久,discuz论坛的问题还是困扰着很多网友,其实从各论坛里看到的问题总结出来,很关键的一点都是因为没有将数据表引擎转成InnoDB导致的,discuz在并发稍微高一点的环境下就表现的非常糟糕,产生大量的锁等待,这时候如果把数据表引擎改成InnoDB的话,我相信会好很多。这次就写个扫盲贴吧。

1. 启用innodb引擎,并配置相关参数

Mysql Innodb 引擎优化(-)

参数篇

作/译者:吴炳锡,来源:http://imysql.cn & http://imysql.cn/blog/3208 转载请注明作/译者和出处,并且不能用于商业用途,违者必究。

 

[MySQL优化案例]系列 -- 在5.1的分区功能中混用InnoDB和MyISAM

MySQL 5.1中增加了分区(partition)功能,有了这个功能,以前很头疼的分表方案,现在就变得不再那么麻烦了。不过,如果采用了MyISAM引擎,而且在数据量较大的情境下,并发读写仍然是个问题,尤其是对索引的更新。为此,可以在分区表中采用MyISAM和InnoDB引擎混用的方法,大致如下:

[深入理解MySQL系列] - mysqldump的几个主要选项探究

0、前言

本文主要探讨 mysqldump 的几种主要工作方式,并且比较一下和 mk-parralel-dump 的一些差异,为备份方式的选择提供更多的帮助。

 

1、mysqldump

首先来看下 mysqldump 的几个主要参数的实际工作方式。

mysqldump 几个主要选项
1. -q
很简单,什么都不做,只是导出时加了一个 SQL_NO_CACHE 来确保不会读取缓存里的数据。

[InnoDB系列] - InnoDB Buffer Pool保存和还原补丁

参考文章:Making MySQL more usable: InnoDB save/restore buffer pool patch
Jeremy Cole同学写了个补丁,用于将InnoDB 缓冲池(buffer pool)里的列表在关闭mysqld时保存到本地文件中,重启启动时再加载到内存中去。该补丁目前只适用于MySQL 5.1版本。作者计划该补丁至少应具备以下几点要求:

  • 可以自定义本地文件名
  • 可以在启动时自主选择是否需要加载到内存中
  • 支持在接受用户请求前先加载一部分,剩下的可以放到后台进程中继续加载

MySQL 微秒慢查询补丁

原文出自:The new cool MySQL patch has landed! Check your queries performance!,本文做只部分翻译。

MySQL微秒慢查询(microtime slow query)补丁包具有以下特色:

  • 识别连接

  • 每个慢查询结果中都记录了是哪个连接线程引起的,如下:

    # Thread_id: 571
    

[深入理解MySQL系列] - sort_buffer

注:本系列文章主要探讨 MySQL 内存利用以及执行计划相关的一些知识点,从而为 MySQL 优化打下更好的基础。

环境说明

OS: AS4U6, 2.6.9-67.0.15.ELsmp, 16G Ram, MD3000阵列, xfs文件系统
MySQL 5.1.26 - percona(innodb plugin, innodb stat, user stat, msl, show patch, acc-pslist 补丁)
聚合内容