`
berdy
  • 浏览: 512347 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

mysql 学习

阅读更多
整理了下mysql在优化方面相关的命令:

show session| global status like 'Com_%'  默认是查看session级别的状态参数
表示某个语句执行的次数,包含所有的存储引擎的操作记录
Com_select
Com_update
Com_insert
Com_delete

下面这些参数仅显示Innodb的操作记录
Innodb_rows_read
Innodb_rows_inserted
Innodb_rows_updated
Innodb_rows_deleted

show status like 'Connections';
show status like 'Uptime';
show status like 'Slow_queries';

--log-slow-queries=[file_name]
时间超过long_query_time
show procssslist;

show variables like '%' 查看某个变量的值
mysqld --verbose --help | more 查看mysql各个变量的解析


myisam 表的数据文件和日志文件是分开存储的,独立成文件
Innodb  表的数据和索引存储在同一个表空间里,可以由多个文件组成

Handler_read_key (一行被索引读取的次数) 如果正在使用索引,这个值会高
Handler_read_rnd_next (在数据文件中读取下一行的请求次数) 如果这个值高,需要建立索引来优化性能

mysql> show status like 'Handler_read%';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| Handler_read_first    | 0     |
| Handler_read_key      | 0     |
| Handler_read_last     | 0     |
| Handler_read_next     | 0     |
| Handler_read_prev     | 0     |
| Handler_read_rnd      | 0     |
| Handler_read_rnd_next | 0     |
+-----------------------+-------+
7 rows in set (0.00 sec)

analyze table 分析和存储关键字分布,分析后将会得到准确的统计信息
mysql> analyze table boss_info;
+---------------+---------+----------+----------+
| Table         | Op      | Msg_type | Msg_text |
+---------------+---------+----------+----------+
| doh.boss_info | analyze | status   | OK       |
+---------------+---------+----------+----------+
1 row in set (0.05 sec)

check table 检测一个或多个表是否存在错误
mysql> check table boss_info;
+---------------+-------+----------+----------+
| Table         | Op    | Msg_type | Msg_text |
+---------------+-------+----------+----------+
| doh.boss_info | check | status   | OK       |
+---------------+-------+----------+----------+
1 row in set (0.01 sec)

optimize table 优化表,可以对表空间的磁盘碎片进行整理
mysql> optimize table boss_info;
+---------------+----------+----------+----------+
| Table         | Op       | Msg_type | Msg_text |
+---------------+----------+----------+----------+
| doh.boss_info | optimize | status   | OK       |
+---------------+----------+----------+----------+
1 row in set (0.08 sec)

上面的命令会进行表锁定,应在系统不繁忙的时候执行。

show index from boss_info;查看表中的索引信息

使用hint

使用指定的索引
mysql> explain select * from boss_info use index(PRIMARY) where id =3;
+----+-------------+-----------+-------+---------------+---------+---------+-------+------+-------+
| id | select_type | table     | type  | possible_keys | key     | key_len | ref   | rows | Extra |
+----+-------------+-----------+-------+---------------+---------+---------+-------+------+-------+
|  1 | SIMPLE      | boss_info | const | PRIMARY       | PRIMARY | 4       | const |    1 |       |
+----+-------------+-----------+-------+---------------+---------+---------+-------+------+-------+
1 row in set (0.02 sec)

不使用指定的索引
mysql> explain select * from boss_info ignore index(PRIMARY) where id =3;
+----+-------------+-----------+------+---------------+------+---------+------+------+-------------+
| id | select_type | table     | type | possible_keys | key  | key_len | ref  | rows | Extra       |
+----+-------------+-----------+------+---------------+------+---------+------+------+-------------+
|  1 | SIMPLE      | boss_info | ALL  | NULL          | NULL | NULL    | NULL |   16 | Using where |
+----+-------------+-----------+------+---------------+------+---------+------+------+-------------+
1 row in set (0.00 sec)

强制使用指定的索引
mysql> explain select * from boss_info force index(PRIMARY) where id =3;
+----+-------------+-----------+-------+---------------+---------+---------+-------+------+-------+
| id | select_type | table     | type  | possible_keys | key     | key_len | ref   | rows | Extra |
+----+-------------+-----------+-------+---------------+---------+---------+-------+------+-------+
|  1 | SIMPLE      | boss_info | const | PRIMARY       | PRIMARY | 4       | const |    1 |       |
+----+-------------+-----------+-------+---------------+---------+---------+-------+------+-------+
1 row in set (0.00 sec)

分享到:
评论

相关推荐

    mysql学习资料大全

    这份"mysql学习资料大全"包含了一系列的资源,对于想要学习或深入理解MySQL的人来说,是一份非常宝贵的资料集。 首先,从标题我们可以推断,这份资料可能涵盖了MySQL的基础到进阶内容,包括安装配置、SQL语言基础、...

    MySQL学习资料PDF

    这份压缩包包含的三本书籍是MySQL学习的重要资源,涵盖了从基础到高级的全方位知识。 《MySQL必知必会》这本书是MySQL入门的经典之作,适合对数据库没有基础知识的读者。它详细介绍了MySQL的基本操作,包括如何创建...

    mysql学习用数据库dbt3

    在这个“mysql学习用数据库dbt3”压缩包中,包含了一个名为“dbt3_s1.sql”的文件,这通常是用来初始化或恢复数据库的SQL脚本。 在学习MySQL的过程中,理解数据库的设计和管理至关重要。DBT3提供了一种实践环境,让...

    Mysql学习资料大全

    本“Mysql学习资料大全”包含了一系列关于MySQL的教程和参考资料,旨在帮助初学者和经验丰富的开发者深入理解和熟练掌握MySQL的各项功能。 首先,从简介及连接部分开始,这部分内容会涵盖MySQL的基本概念,如数据库...

    数据库mysql学习脑图

    本资源“数据库mysql学习脑图”旨在为MySQL初学者提供一个清晰的学习路径,帮助理解其核心概念和功能。 首先,脑图将可能涵盖数据库基础,包括数据库的概念、数据模型(如层次模型、网状模型、关系模型)以及SQL...

    mySQL学习资料.rar

    这个“mySQL学习资料.rar”压缩包很可能包含了一系列关于MySQL的学习材料,如教程、手册、示例脚本和使用指南,旨在帮助初学者和进阶者深入理解和掌握MySQL。 首先,让我们来探讨一下MySQL的基础知识。MySQL的核心...

    mysql学习资料(9本)

    这份“mysql学习资料(9本)”的压缩包包含了丰富的学习资源,适合不同层次的学习者,从初学者到经验丰富的开发者都能从中受益。 1. **MYSQL 5.5从零开始学.pdf**:这本书可能是一本入门教程,从MySQL 5.5版本的基础...

    mysql学习手册中文版

    MySQL学习手册中文版是一本全面介绍MySQL数据库管理系统的基础知识的指南,适合初学者及有一定经验的用户进行深入学习。MySQL是一种广泛使用的开源关系型数据库,它以其高效、稳定和易于管理的特点,在各种规模的...

    Linux下mysql学习笔记

    【Linux下MySQL学习笔记】 MySQL是一款广泛应用于互联网的开源关系型数据库管理系统,尤其在Linux操作系统上,其稳定性和性能表现尤为突出。本笔记主要针对在Linux环境下安装、配置、管理和优化MySQL的过程进行详解...

    MySQL学习源码(MySQL入门教程).zip

    MySQL学习源码(MySQL入门教程).zipMySQL学习源码(MySQL入门教程).zipMySQL学习源码(MySQL入门教程).zipMySQL学习源码(MySQL入门教程).zipMySQL学习源码(MySQL入门教程).zipMySQL学习源码(MySQL入门教程).zipMySQL...

    MySQL学习资料.zip,包括MySQL基础、进阶、运维

    MySQL学习资料.zip,包括MySQL基础、进阶、运维

    MySql学习资料

    这份“MySQL学习资料”包含了丰富的信息,旨在帮助初学者和有经验的用户更好地理解和操作MySQL。 首先,`MySQL_5.1中文文档`是MySQL 5.1版本的官方中文手册,它是了解和学习MySQL功能、语法、最佳实践的重要资源。...

    机房精空调分类2023+MySQL学习练习数据库+MySQL学习毕业设计

    机房精空调分类2023+MySQL学习练习数据库+MySQL学习毕业设计机房精空调分类2023+MySQL学习练习数据库+MySQL学习毕业设计机房精空调分类2023+MySQL学习练习数据库+MySQL学习毕业设计机房精空调分类2023+MySQL学习练习...

    Mysql学习文档

    ### MySQL学习文档知识点详解 #### 一、MySQL简介与特性 **标题与描述解析:** - **标题**:“Mysql学习文档”表明该文档旨在帮助读者掌握MySQL的相关知识和技术。 - **描述**:“文档讲述的从入门到精通的课程...

    MySQL.rar_MYSQL_mysql学习_学习mysql

    1. 数据库概念:了解数据库的基本概念,如数据库、表、字段、记录和索引等,是MySQL学习的基础。数据库是用来存储和管理数据的系统,而表则是数据的结构化存储方式。 2. SQL语言:SQL(Structured Query Language)...

    MySQL学习文档

    以上就是根据给定文件信息总结出来的MySQL学习文档中的核心知识点。希望这些内容能帮助初学者更好地理解和掌握MySQL的基础操作。随着对MySQL的深入学习,还可以探索更多高级功能,例如事务处理、存储过程、触发器等...

    MYSQL 学习指南

    这份"MYSQL 学习指南"旨在帮助初学者和有一定经验的开发者深入理解MySQL的各个方面,提升数据库管理技能。 首先,从基础开始,MySQL的核心概念包括数据库、表、字段和记录。数据库是存储数据的容器,而表则是组织...

    mysql学习资料 45讲 深度学习

    这个“mysql学习资料 45讲 深度学习”压缩包包含了多个PDF文件,涵盖了MySQL的关键知识点,包括性能优化、高可用性、主备一致性和安全性等方面。下面我们将深入探讨其中几个关键的主题。 1. **"order by"是怎么工作...

    mysql学习资料mysql学习资料

    这个“mysql学习资料”压缩包可能包含教程、示例脚本、练习题和解决方案等,帮助初学者逐步掌握MySQL和SQL技能。通过系统学习和实战练习,你将能够有效地管理和利用数据库资源,为你的职业生涯奠定坚实基础。

Global site tag (gtag.js) - Google Analytics