MySQL的性能优化和使用技巧

本文是笔者从工作中总结而出.由于时间问题和考虑的不可能足够全面,所以本文会很长时间才会完成,下面会陆续给出内容,与大家分享^_^

在windows下,配置文件为%mysql_home%/my.ini

在linux下,配制文件为/etc/my.cnf

一 性能优化

1--------INNODB_BUFFER_POOL_SIZE

该参数是innodb引擎的最主要的性能参数,对数据库的性能起了决定性作用.说白了就是数据库的使用内存.

2--------性能分析,

show status like '%'; #查看数据库状态

show variables like %; #查看数据库的变量

show engine innodb status\G; #查看innodb的监控状态

二 使用技巧

1--------字符集尽量使用uft-8,这样更容易解决乱码问题,在linux下修改my.cnf的3处,修改前后可以通过命令

show variables like 'character%';

查看字符集状态.

找到客户端配置[client] 在下面添加

#默认字符集为utf8

default-character-set=utf8

在找到[mysqld] 添加

#默认字符集为utf8

default-character-set=utf8

#设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行

init_connect='SET NAMES utf8'

时间: 2024-10-01 06:04:21

MySQL的性能优化和使用技巧的相关文章

解析MySQL数据库性能优化的六大技巧_Mysql

数据库表表面上存在索引和防错机制,然而一个简单的查询就会耗费很长时间.Web应用程序或许在开发环境中运行良好,但在产品环境中表现同样糟糕.如果你是个数据库管理员,你很有可能已经在某个阶段遇到上述情况.因此,本文将介绍对MySQL进行性能优化的技巧和窍门. 1.存储引擎的选择如果数据表需要事务处理,应该考虑使用InnoDB,因为它完全符合ACID特性.如果不需要事务处理,使用默认存储引擎MyISAM是比较明智的.并且不要尝试同时使用这两个存储引擎.思考一下:在一个事务处理中,一些数据表使用Inno

MySQL数据库性能优化之表结构优化

很多人都将<数据库设计范式>作为数据库表结构设计"圣经",认为只要按照这个范式需求设计,就能让设计出来的表结构足够优化,既能保证性能优异同时还能满足扩展性要求.殊不知,在N年前被奉为"圣经"的数据库设计3范式早就已经不完全适用了.这里我整理了一些比较常见的数据库表结构设计方面的优化技巧,希望对大家有用. 这是 MySQL数据库性能优化专题 系列的第二篇文章:MySQL 数据库性能优化之表结构优化 系列的第一篇文章:MySQL 数据库性能优化之缓存参数优化

Browser Diet:网页前端性能优化的各种技巧和工具

文章描述:如何给网站瘦身?图文并茂的前端性能优化指南. 提高网站的速度对网站的成功有巨大的影响,因为网站的加载速度直接影响到用户体验和搜索引擎排名.Browser Diet 是一个非常好的指南,列出了前端性能优化的各种技巧和工具. 这是一个由 HTML,CSS,JS,服务器,图像和网站相关领域的众多专家组成的团队编写的,相比网络上的其它内容,这个指南图文并茂,生动有趣.此外,该指南不仅列出性能优化的步骤,同时还详细的介绍了如何实现. 官方主页 GitHub

MySQL数据库性能优化之缓存参数优化

在平时被问及最多的问题就是关于 MySQL 数据库性能优化方面的问题,所以最近打算写一个MySQL数据库性能优化方面的系列文章,希望对初中级 MySQL DBA 以及其他对 MySQL 性能优化感兴趣的朋友们有所帮助. 数据库属于 IO 密集型的应用程序,其主要职责就是数据的管理及存储工作.而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级.所以,要优化数据库,首先第一步需要优化的就是 IO,尽可能将磁盘IO转化为内存IO.本文先从

Mysql数据库性能优化一_Mysql

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能.这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库. mysql的性能优化无法一蹴而就,必须一步一步慢慢来,从各个方面进行优化,最终性能就会有大的提升. Mysql数据库的优化技术 对mysql优化是

Mysql数据库性能优化三(分表、增量备份、还原)_MsSql

接上篇Mysql数据库性能优化二 对表进行水平划分           如果一个表的记录数太多了,比如上千万条,而且需要经常检索,那么我们就有必要化整为零了.如果我拆成100个表,那么每个表只有10万条记录.当然这需要数据在逻辑上可以划分.一个好的划分依据,有利于程序的简单实现,也可以充分利用水平分表的优势.比如系统界面上只提供按月查询的功能,那么把表按月拆分成12个,每个查询只查询一个表就够了.如果非要按照地域来分,即使把表拆的再小,查询还是要联合所有表来查,还不如不拆了.所以一个好的拆分依据

Mysql数据库性能优化三(分表、增量备份、还原)

接上篇Mysql数据库性能优化二 对表进行水平划分 如果一个表的记录数太多了,比如上千万条,而且需要经常检索,那么我们就有必要化整为零了.如果我拆成100个表,那么每个表只有10万条记录.当然这需要数据在逻辑上可以划分.一个好的划分依据,有利于程序的简单实现,也可以充分利用水平分表的优势.比如系统界面上只提供按月查询的功能,那么把表按月拆分成12个,每个查询只查询一个表就够了.如果非要按照地域来分,即使把表拆的再小,查询还是要联合所有表来查,还不如不拆了.所以一个好的拆分依据是 最重要的.关键字

淘宝内部分享:MySQL &amp; MariaDB性能优化

编者按:MySQL是目前使用最多的开源数据库,但是MySQL数据库的默认设置性能非常的差,必须进行不断的优化,而优化是一个复杂的任务,本文描述淘宝数据库团队针对MySQL数据库Metadata Lock子系统的优化,hash_scan 算法的实现解析的性能优化,TokuDB·版本优化,以及MariaDB·的性能优化.本文来自淘宝团队内部经验分享. 往期文章:淘宝内部分享:怎么跳出MySQL的10个大坑 MySQL· 5.7优化·Metadata Lock子系统的优化 背景 引入MDL锁的目的,最

Mysql数据库性能优化一些经验分享

一,性能检测与瓶颈分析 1性能检测常用命令 show status 显示状态信息,参考:Mysql show status命令详解 show processlist 查看当前SQL执行,包括执行状态.是否锁表等,参考:Mysql show processlist命令详解 show variables 显示系统变量,参考:Mysql show variables命令详解 2瓶颈分析常用命令 获取mysql用户下的进程总数 ps -ef | awk '{print $1}' | grep "mysq