`

MySQL集锦4-优化

阅读更多
1、步骤
通过慢查询日志,查到sql语句
通过解析SQL语句查看影响行数
如果影响行数特别多,判断是否需要加索引

mysql ?使用
? contents

2、show [global] status;
engine=myisa
show status like 'com_insert%';
show status like 'com_update%';
show status like 'com_delete%';
show status like 'com_select%';

create table t1( id int not null auto_increment primary key, name varchar(30)) engine=myisam charset=utf8;
create table t2 like t1;

insert into t1(name) values('user1'),('user2'),('user3');
show status like 'com_insert%';
insert into t1(name) values('user4'),('user5'),('user6');
show status like 'com_insert%';


engine=innodb
show status like 'innodb_rows_inserted%';
show status like 'innodb_rows_updated%';
show status like 'innodb_rows_deleted%';
show status like 'innodb_rows_read%';
create table t3( id int not null auto_increment primary key, name varchar(30)) engine=myisam charset=utf8;


其他
connections 连接mysql的数量
uptime 服务器已经工作的秒数
slow_queries;慢查询的次数
show variables like '%slow%';
#log_slow_queries    | OFF 



3、定位执行效率较低的SQL语句
通过慢查询日志查
explain select * from table where id=1000;
desc select * from table where id=1000;






4、索引优化
select * from t1 where t1.name like '%3';
select * from t1 where t1.name like 'user%';
%放在前面的时候索引可能会用不上



desc select * from t1 where name is null\G
可以用到索引

以下2条sql语句,如果想用到索引,id、name两个字段必须同时拥有索引,否则索引无效
select * from t1 where id=1 and name='user1';
select * from t1 where id=1 or name='user7';

数据结构不匹配的时候不会使用索引
select * from t1 where name=1;

5、优化表
a、检查一个或多个表是否正确
check table t1,t2;
b、优化表
optimize 可以将表中的空间碎片进行合并

6、常用的SQL优化
a、大批量插入数据
如果当前备份的数据库数据量很大,
usr/bin/mysqldump -uroot -p1 test -l -F > /tmp/test.sql
car /tmp/test.sql |more
会保存大量的表结构、数据插入等语句
====================优化=======================================================
使用infile、outfile
/var/run/mysqld/mysqld.sock
导出t1的name列到文件/tmp/test.txt
select name from t1 into outfile '/tmp/test.txt';
导入
load data infile '/tmp/test.txt' into table t1(name);
  • 大小: 111 KB
  • 大小: 219.3 KB
  • 大小: 211.4 KB
分享到:
评论

相关推荐

    MySQL常见问题集锦详解-完整版.pdf

    MySQL常见问题集锦详解主要涵盖了数据库管理中遇到的各种挑战,这些问题包括但不限于服务器崩溃、超时、连接错误、内存不足以及数据包过大等。下面将详细解释这些知识点。 1. **MySQL服务崩溃**: 当MySQL服务...

    ----------各种公司面试题集锦----------

    比如,可能会有编程语言(C++、Java、Python等)的语法测试,数据结构与算法的实现,软件工程的最佳实践,以及针对特定技术领域的问题(如前端的React、Vue,后端的Spring Boot,数据库的MySQL、Oracle等)。...

    php mysql 面试题集锦

    【PHP与MySQL面试知识点】 ... - 控制结构:理解if/else、switch/case、for、while、do/while...以上是基于"PHP mysql 面试题集锦"的主题,涵盖的常见知识点。理解和掌握这些内容将有助于应对PHP和MySQL相关的面试挑战。

    大厂Golang开发工程师面试题集锦 后端 - Java.zip

    12. **Go与其他技术的集成**:例如与数据库(如MySQL、MongoDB)、消息队列(如RabbitMQ、Kafka)的交互。 准备这些知识点将帮助你充分应对大厂Golang开发工程师的面试,不仅需要理论知识,还要具备实际操作经验和...

    开源时代杂志集锦--linux时代内部专业期刊(6-11期)

    《开源时代杂志集锦》是Linux时代内部的专业期刊,涵盖了第六至第十一期的内容,为对开源技术感兴趣的读者提供了一套丰富的知识库。这六期杂志深入探讨了开源软件、操作系统、开发工具以及相关的社区动态,是学习和...

    MySQL优化深度分析及问题集锦课堂笔记

    根据提供的文件内容,下面是对“MySQL优化深度分析及问题集锦课堂笔记”知识点的详细说明: MySQL架构及调优介绍: MySQL是一个多层架构的数据库,核心层运行在内存中,管理SQL语句。存储引擎层位于核心层之下,是...

    java\javaScript\html\mysql API集锦

    3. **MySQL** - `mysql--20120503111517.chm`:这是MySQL数据库的API文档,涵盖了SQL语法、数据类型、函数、存储过程、触发器等,对于进行数据库设计和查询优化的开发者非常有用。 4. **HTML** - `html.chm`:这是...

    Mysql中英文帮助以及命令集锦

    这份资源集合包含了MySQL的中英文帮助文档和一个命令集锦,旨在为初学者提供全面的基础知识。 首先,`MYSQL中文.chm`文件是一个中文版的MySQL帮助文档,通常包含了数据库的安装、配置、操作、查询、索引、存储引擎...

    涨薪必备-mysql面试题集锦50题

    本题集锦涵盖了基础的数据库设计、SQL查询以及性能优化等方面的问题,以下是一些相关知识点的详细说明: 1. 数据库表设计: - **学生表Student**:包含了学生的基本信息,如SID(学生编号)、Sname(学生姓名)、...

    常用MySQL的命令集锦

    MySQL是世界上最流行的关系型数据库管理系统之一,用于存储和管理数据。本文主要介绍了一些常用的MySQL命令,包括连接数据库、修改密码、增加新...对于大型项目,理解数据库优化、事务处理和并发控制也是至关重要的。

    经典知识库:MySQL常用运维工具小妙招集锦 - 崔虎龙_2021.7.1.pdf

    MySQL是一个广泛使用的关系型数据库管理系统,随着信息技术的发展,MySQL在数据库运维方面积累了丰富的工具和方法。在进行MySQL数据库运维时,其生命周期的每个阶段都有对应的能力需求,官方提供的运维工具以及开源...

    MySQL考试题目大集合 试题集锦 含答案 共16页.pdf

    这份"MySQL考试题目大集合 试题集锦 含答案 共16页.pdf"文件显然是一份针对MySQL的复习资料,包含了选择题、填空题和简答题,旨在帮助学习者测试和提升对MySQL及相关数据库管理知识的理解。 1. 数据库系统的三级...

    mysql命令集锦[绝对精华]宣贯.pdf

    MySQL是世界上最流行的开源...以上内容只是MySQL命令的基础介绍,实际使用中还有更多复杂的操作,如创建数据库、管理表、备份恢复、性能优化等。深入学习MySQL,可以提升数据库管理效率,确保数据的安全性和可用性。

    干货题目 mysql 面试题集锦 常见练习题目 考试题目 共28页.pdf

    这份试题集锦涵盖了MySQL的一些常见面试和练习题目,主要涉及数据查询和聚合函数的使用。以下是对这些知识点的详细解析: 1. **排序查询**: - `ORDER BY` 子句用于对查询结果进行排序。在这个例子中,`ORDER BY ...

    PHP面试题集锦(包含mysql相关)

    **4. 主从复制与读写分离** 通过MySQL主从复制实现读写分离,提高数据库的读取性能。 **5. 负载均衡** 使用Nginx等负载均衡器分发请求到多个服务器,降低单一服务器的压力。 #### 四、MVC架构原理及其优势 **1. ...

    MySQL DBA常用技能集锦.pptx

    MySQL DBA,即MySQL数据库管理员,...综上所述,MySQL DBA的工作涵盖了多个方面,包括复制管理、性能优化、故障恢复、安全性和合规性等多个维度。通过不断学习和实践,DBA可以有效地维护和管理大型MySQL数据库系统。

    整理的2023年关于MYSQL数据库的面试题集锦

    ### MySQL数据库面试题知识点梳理 #### 一、MySQL索引数据结构详解 ##### 1....通过以上知识点的学习,我们可以更好地理解MySQL数据库中的索引机制及其优化方法,从而提升数据库系统的整体性能。

    PHP应用实例集锦-投票系统.pdf

    4. **性能优化**:随着参与投票人数的增加,系统可能会面临高并发访问的压力。此时,合理的缓存策略、负载均衡技术等就显得尤为重要。 #### 六、具体实现步骤 1. **需求分析**:明确投票系统所需要实现的功能模块,...

    2023MYSQL面试题集锦.docx

    理解MySQL的执行计划(EXPLAIN)可以帮助优化SQL查询。`EXPLAIN`关键字可以展示SQL语句的执行步骤,包括查询顺序(id)、查询类型(selectType)、涉及的表(table)、查询方式(type)等。例如,`type`字段的值可以...

Global site tag (gtag.js) - Google Analytics