1. 通过show status 和 应用特点了解各种 SQL 的执行频率
2.定位执行效率较低的 SQL 语句
1) 可以通过慢查询日志定位那些执行效率较低的 SQL 语句, 用--log-slow-queries[=file_name]选项启动时,mysqld写一个包含所有执行时间超时long_query_time秒的SQL语句的日志文件。
2)慢查询日志在查询结束以后才记录,所以在应用反映执行效率出问题的时候查询慢查询日志并不能定位问题,可以使用 show processlist 命令查看当前 MySQL 在进行的线程,包括线程的状态,是否锁表等等,可以实时的查看SQL执行情况,同时对一些锁表操作进行优化。
3. 通过 EXPLAIN 分析低效 SQL 的执行计划
4. MySQL 如何使用索引
查询要使用索引最主要的条件是查询条件中需要使用索引关键字,如果是多列索引,那么只有查询条件使用了多列关键字最左边的前缀时,才可以使用索引,否则将不能使用索引。
5.MySQL设置查看
show variables like '%timeout%'; #查询超时时间
innodb_lock_wait_timeout 120
lock_wait_timeout 31536000
wait_timeout 28800
show variables like '%per_table%'; #查询是否打开独立表空间
innodb_file_per_table ON
SHOW VARIABLES LIKE '%query_cache%';#查看qcache状态
# 开启查询缓存对于读写都增加了额外的开销。对于读,在查询开始前需要先检查缓存;对于写,在写入后需要更新缓存。
# 一般情况这些开销相对较小,所以查询缓存一般还是有好处的。但也要根据业务特征权衡是否需要开启查询缓存。
have_query_cache YES
query_cache_limit 2097152
query_cache_min_res_unit 4096
query_cache_size 8388608
query_cache_type OFF
query_cache_wlock_invalidate OFF
SHOW VARIABLES LIKE '%innodb_buffer_pool%';#查看buffer_pool的大小
# buffer pool是innodb存储引擎带的一个缓存池,查询数据的时候,它首先会从内存中查询,如果内存中存在的话,直接返回,从而提高查询响应时间。
# innodb buffer pool和qcache的区别是:qcacche缓存的是sql语句对应的结果集,buffer pool中缓存的是表中的数据。buffer pool一般设置为服务器物理内存的70%。
innodb_buffer_pool_chunk_size 134217728
innodb_buffer_pool_dump_at_shutdown ON
innodb_buffer_pool_dump_now OFF
innodb_buffer_pool_dump_pct 25
innodb_buffer_pool_filename ib_buffer_pool
innodb_buffer_pool_instances 8
innodb_buffer_pool_load_abort OFF
innodb_buffer_pool_load_at_startup ON
innodb_buffer_pool_load_now OFF
innodb_buffer_pool_size 19327352832
SHOW VARIABLES LIKE '%slow%';#查看慢查询配置
log_slow_admin_statements OFF
log_slow_slave_statements OFF
slow_launch_time 2
slow_query_log ON
slow_query_log_file /opt/data/mysql2-slow.log
SHOW VARIABLES LIKE 'long_query_time'; #默认情况下,该临界值设置为 10 秒(10.000000)。
long_query_time 1.000000
SHOW GLOBAL STATUS LIKE "Questions"; #已执行语句(由客户端发出)计数
Questions 852575071
SHOW GLOBAL STATUS LIKE "Com_select"; #SELECT 语句吞吐量
Com_select 324269844
SHOW GLOBAL STATUS LIKE "Writes";#插入,更新或删除吞吐量
SHOW GLOBAL STATUS LIKE "Slow_queries";#超过可配置的 long_query_time 限制的查询数量
Slow_queries 582692
SHOW VARIABLES LIKE 'max_connections'; #数据库最大连接数
max_connections 1500
# 如果想实时的获取有没有执行时间长的sql,用下面这个sql语句
select id,`user`,`host`,DB,command,`time`,state,info from information_schema.PROCESSLIST where TIME>=60;
show variables like 'port';#查看数据库使用端口
- 大小: 116.5 KB
分享到:
相关推荐
以下是一份详细的MySQL优化笔记,涵盖了多个方面: 一、查询优化 1. 使用索引:为经常用于搜索的列创建索引可以显著加快查询速度。B树和哈希索引是最常见的类型,适用于不同的查询场景。 2. 避免全表扫描:尽量使用...
以下将详细介绍MySQL优化的各个方面,并结合提供的文件名进行推测,尽管没有实际内容,但我们可以根据文件名来讨论可能涉及的主题。 1. **索引优化**:`mysql_rel.sql`可能包含SQL脚本,其中创建表结构和数据的关系...
在"MySQL优化.rar"这个压缩包中,我们很显然会接触到关于MySQL数据库优化的详细内容,这包括但不限于查询优化、索引优化、存储引擎选择、架构设计等多个方面。 首先,查询优化是MySQL性能提升的关键步骤。通过对SQL...
MySQL性能优化金字塔法则为开发人员和数据库管理员提供了实用的指导和方法论,帮助他们更好地掌握MySQL性能优化的方法和技巧。通过阅读本书,大家将深入了解MySQL性能优化的各个方面,掌握实用的优化技巧,提高应用...
MySQL 数据库开发、优化与管理维护 本文档旨在深入浅出 MySQL 数据库开发、优化与管理维护的知识点,涵盖了 MySQL 数据库开发的基本概念、优化技巧和管理维护方法。 数据库开发篇 在本篇中,我们将学习 MySQL ...
不可能完全记住MySQL中的300多个配置参数每个的作用,在配置管理时就可以知道每个参数的作用,起到指引的作用 查看手册或者去google还是比较繁琐,输入关键字检索,很快就可以找到,配置信息的内容和参数 通过web...
《MySQL管理与优化利器——mysqloa》 在数据库管理的世界中,MySQL以其开源、高效、易用的特性,成为众多企业和开发者首选的数据库系统。然而,随着业务的复杂性和数据量的增长,如何有效管理和优化MySQL就显得尤为...
### MySQL优化知识点详解 #### 一、MySQL简介 MySQL是一款由MySQL AB公司开发的开源数据库管理系统,后来该公司被Sun Microsystems收购。MySQL因其简单、高效、可靠的特点,在IT行业中迅速崭露头角,成为最受欢迎...
MySQL GUI Tools是一款强大的图形用户界面工具集合,专为MySQL数据库管理系统设计,旨在简化数据库的管理和优化。这款工具集包括了多种实用工具,如MySQL Workbench、MySQL Query Browser、MySQL Administrator等,...
MySQL优化是数据库管理中的一个重要方面,它包括但不限于配置调整、索引优化、查询优化、服务器监控等。良好的优化可以显著提升数据库的性能和响应速度,保证系统的稳定运行。 一、慢查询日志与慢查询分析 MySQL的...
MySQL优化是数据库管理中的关键环节,它涉及到性能提升、资源利用率优化以及系统稳定性的保障。这份"Mysql优化 PPT"可能会涵盖多个方面的内容,包括但不限于查询优化、索引策略、存储引擎选择、数据库架构设计、资源...
二、MySQL优化 1. 查询优化:避免全表扫描,合理使用索引,减少JOIN操作,优化SQL语句结构,避免在WHERE子句中使用不等于或NOT IN操作。 2. 索引优化:创建合适的索引,考虑使用覆盖索引,避免过多的索引,定期...
以下是一些深入浅出的MySQL优化策略: 1. 选择合适的字段属性: 在设计数据库表时,应尽可能减小字段宽度,以减少存储空间和查询时间。例如,邮政编码字段只需设定为CHAR(6)即可,无需使用VARCHAR或更大的类型。...
综上所述,“MYSQL.rar”提供的资源涵盖了MySQL优化的多个方面,对于数据库管理员来说是非常宝贵的参考资料。通过对MySQL的深度优化,不仅可以提升系统的响应速度,还能确保数据的安全性和可用性。通过学习和实践,...
MySQL性能优化与架构设计是数据库管理员、开发人员和系统管理员关注的重要领域,因为数据库性能直接影响到应用程序的响应速度和整体用户体验。本资料提供了一个全面的视角,深入探讨了如何优化MySQL的性能并进行有效...
- **MySQL数据库服务器**:特指基于MySQL关系型数据库管理系统搭建的服务器。 - **优化**:通过对MySQL配置参数的调整,以提升数据库服务器的性能。 #### 描述解析:2G内存的MySQL数据库服务器优化 描述部分重申了...