`

Mysql数据库性能优化

阅读更多

show status 详解

Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。
Aborted_connects 尝试已经失败的MySQL服务器的连接的次数。
Connections 试图连接MySQL服务器的次数。
Created_tmp_tables 当执行语句时,已经被创造了的隐含临时表的数量。
Delayed_insert_threads 正在使用的延迟插入处理器线程的数量。
Delayed_writes 用INSERT DELAYED写入的行数。
Delayed_errors 用INSERT DELAYED写入的发生某些错误(可能重复键值)的行数。
Flush_commands 执行FLUSH命令的次数。
Handler_delete 请求从一张表中删除行的次数。
Handler_read_first 请求读入表中第一行的次数。
Handler_read_key 请求数字基于键读行。
Handler_read_next 请求读入基于一个键的一行的次数。
Handler_read_rnd 请求读入基于一个固定位置的一行的次数。
Handler_update 请求更新表中一行的次数。
Handler_write 请求向表中插入一行的次数。
Key_blocks_used 用于关键字缓存的块的数量。
Key_read_requests 请求从缓存读入一个键值的次数。
Key_reads 从磁盘物理读入一个键值的次数。
Key_write_requests 请求将一个关键字块写入缓存次数。
Key_writes 将一个键值块物理写入磁盘的次数。
Max_used_connections 同时使用的连接的最大数目。
Not_flushed_key_blocks 在键缓存中已经改变但是还没被清空到磁盘上的键块。
Not_flushed_delayed_rows 在INSERT DELAY队列中等待写入的行的数量。
Open_tables 打开表的数量。
Open_files 打开文件的数量。
Open_streams 打开流的数量(主要用于日志记载)
Opened_tables 已经打开的表的数量。
Questions 发往服务器的查询的数量。
Slow_queries 要花超过long_query_time时间的查询数量。
Threads_connected 当前打开的连接的数量。
Threads_running 不在睡眠的线程数量。
Uptime 服务器工作了多少秒。 

 
 提升性能的建议:
1.如果opened_tables太大,应该把my.cnf中的table_cache变大
2.如果Key_reads太大,则应该把my.cnf中key_buffer_size变大.可以用Key_reads/Key_read_requests计算出cache失败率
3.如果Handler_read_rnd太大,则你写的SQL语句里很多查询都是要扫描整个表,而没有发挥索引的键的作用,或你有没正确使用键值的联结(join)。
4.如果Threads_created太大,就要增加my.cnf中thread_cache_size的值.可以用Threads_created/Connections计算cache命中率
5.如果Created_tmp_disk_tables太大,就要增加my.cnf中tmp_table_size的值,用基于内存的临时表代替基于磁盘的

 

 

SHOW VARIABLES显示出一些MySQL系统变量的值,你也能使用mysqladmin variables命令得到这个信息。如果缺省值不合适,你能在mysqld启动时使用命令行选项来设置这些变量的大多数。

 

SHOW PROCESSLIST显示哪个线程正在运行,你也能使用mysqladmin processlist命令得到这个信息。如果你有process权限, 你能看见所有的线程,否则,你仅能看见你自己的线程。见7.20 KILL句法。如果你不使用FULL选项,那么每个查询只有头100字符被显示出来。

 

Mysql常用配置说明

 

# The MySQL server
[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
skip-locking
#skip-name-resolve
key_buffer = 384M      #索引缓存设置
max_allowed_packet = 1M
max_connections = 768
table_cache = 32000  
open_files_limit = 65000
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache = 8 #mysql线程池,缓存线程
query_cache_size = 32M #使用查询缓存区大小设置
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
max_heap_table_size=300000000
interactive_timeout=604800
wait_timeout=604800
log-slow-queries=/tmp/slowquery.log #慢查询日志开启
long_query_time=5 #慢查询时间设置 5秒


query_cache_type 指定是否使用查询缓冲,可以设置为0、1、2,该变量是SESSION级的变量。

query_cache_limit 指定单个查询能够使用的缓冲区大小,缺省为1M。

 

tmp_table_size 临时表内存大小设置, 设大可避免在磁盘上创建临时表

 

 

 

http://chinaxxren.iteye.com/blog/796749

 

 

 

 

 

分享到:
评论

相关推荐

    mysql数据库性能优化

    ### MySQL数据库性能优化 #### 一、概览 在当今高度依赖互联网技术的世界里,数据库作为数据存储的核心组件,其性能直接影响着应用系统的响应速度和用户体验。MySQL作为一款广泛使用的开源关系型数据库管理系统,...

    MySQL数据库性能优化研究.docx

    MySQL 数据库性能优化研究 MySQL 数据库性能优化是当前数据库管理系统中最重要的研究领域之一。随着互联网技术的快速发展,MySQL 数据库被广泛应用于各种业务场景。然而,当数据库规模不断扩大,查询复杂度增加时,...

    两小时解决所有问题--MySQL数据库性能优化

    两小时解决所有问题--MySQL数据库性能优化

    MySql数据库性能优化

    MySql数据库性能优化 MySql数据库性能优化是指通过调整和优化数据库的各种参数、结构和查询语句,提高数据库的运行速度和效率,减少资源占用和系统瓶颈。下面将详细介绍MySql数据库性能优化的相关知识点。 什么是...

    MySQL数据库性能优化分析.pdf

    "MySQL数据库性能优化分析" MySQL数据库性能优化分析是数据库优化的重要环节,对于提高数据库的运行效率和工作能力具有重要的意义。本文将从数据库运行语句、数据库索引以及构造设计等层面对MySQL数据库进行深入的...

    mySQL数据库性能优化pdf.pdf

    这篇文章将详细讨论MySQL数据库性能优化的相关知识点,这不仅是Java面试的热点,也是每一位数据库管理员和开发人员应该掌握的技能。 首先,性能优化的范围非常广泛,无论是桌面应用、Web应用还是移动应用,无论是...

    mysql数据库性能优化讲座

    mysql数据库性能优化讲座,包括设计的规范,了解数据库的模型

    基于MySQL数据库性能优化的实验报告.pdf

    基于 MySQL 数据库性能优化的实验报告 基于 MySQL 数据库性能优化的实验报告中,提出了五种方法来提高 MySQL 数据库的查询性能。这些方法包括:使用索引、使用“LIMIT 1”取得唯一行、尽量少使用“SELECT *”语句中...

    MySQL数据库性能优化实战指南及案例解析.zip

    在当今大数据时代,MySQL作为最流行的开源关系型数据库管理系统之一,其性能...本文旨在通过实战案例,深入探讨MySQL数据库性能优化的关键技术与策略,帮助读者快速定位并解决性能瓶颈,提升数据库的稳定性和响应速度。

    优化MySQL数据库性能的八大妙手.rar

    以上八大妙手是MySQL数据库性能优化的主要方向,但具体实施时需结合实际情况灵活应用。不断监控和调整数据库性能,确保系统的高效稳定运行。通过持续学习和实践,你将成为MySQL数据库性能优化的大师。

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

     这是 MySQL数据库性能优化专题 系列的第二篇文章:MySQL 数据库性能优化之表结构优化  系列的第一篇文章:MySQL 数据库性能优化之缓存参数优化  由于MySQL数据库是基于行(Row)存储的数据库,而数据库操作 IO ...

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

    在平时被问及最多的问题就是关于MySQL数据库性能优化方面的问题,所以最近打算写一个MySQL数据库性能优化方面的系列文章,希望对初中级MySQLDBA以及其他对MySQL性能优化感兴趣的朋友们有所帮助。数据库属于IO密集型...

    MySQL数据库性能优化之索引优化

     这是 MySQL数据库性能优化专题 系列的第三篇文章:MySQL 数据库性能优化之索引优化  索引为什么能提高数据访问性能?  很多人只知道索引能够提高数据库的性能,但并不是特别了解其原理,其实我们可以用一个...

    MYSQL数据库技术分享.ppt

    MYSQL数据库慢SQL定位与分析是MYSQL数据库性能优化的重要步骤。通过慢日志,可以找到MYSQL数据库中的慢SQL语句,并对其进行优化。 MYSQL数据库SQL优化 MYSQL数据库SQL优化是MYSQL数据库性能优化的重要步骤。通过...

    浅谈MySQL数据库性能优化

    本文侧重通过优化MySQL 数据库缓存参数如查询缓存,表缓存,日志缓存,索引缓存,innodb缓存,插入缓存,以及连接参数等方式来对MySQL数据库进行优化。  缓存参数  这里先引用一句话,从内存中读取一个数据的...

    MySQL数据库的性能优化.pdf

    总之,MySQL数据库性能优化是一个综合性的任务,涉及到数据库设计、SQL编写、索引策略、内存管理和事务处理等多个层面。通过上述方法的综合运用,可以显著提高MySQL数据库的运行效率,满足高并发、大数据量的应用...

    MySQL数据库性能优化之入门.pdf

    重点讲解了慢查询、索引、Multi Range Read、Index Merge、ICP,等相关功能。这里均为本人的学习总结。内容有2附图1个来自书本、一个来自网络,其余均为本人原创。 未经运行不得商业使用。

    MySQL数据库性能(SQL)优化方案.pdf

    MySQL数据库性能优化是提高系统效率的关键,特别是在处理大量数据时。本文主要从以下几个方面探讨了如何优化MySQL数据库的SQL性能: 1. **选择合适的字段属性**:为了提高查询速度和节省存储空间,应尽可能减少字段...

Global site tag (gtag.js) - Google Analytics