`

mysql 性能学习1

阅读更多
1 使用explain语句去查看分析结果,如
  explain select * from test1 where id=1;
会出现:
id  selecttype  table  type possible_keys  key key_len  ref rows  extra各列

  其中,type=const表示通过索引一次就找到了,key=primary的话,表示使用了主键
type=all,表示为全表扫描,key=null表示没用到索引;
  假如在test1表中,结构如下:
   id name

  假如id为自动递增,name设置了索引,则explain后,会发现
type=ref,因为这时认为是多个匹配行,在联合查询中,一般为REF


2 MYSQL中的组合索引
  假设表有id,key1,key2,key3,把三者形成一个组合索引,则
如:
   where key1=....
   where key1=1 and key2=2
    where key1=3 and key3=3 and key2=2
根据最左原则,这些都是可以使用索引的哦
   如
   from test where key1=1 order by key3
用explain分析的话,只用到了normal_key索引,但只对where子句起作用,而后面的order by需要排序


3 使用慢查询分析:
   在my.ini中:
long_query_time=1
log-slow-queries=d:\mysql5\logs\mysqlslow.log
把超过1秒的记录在慢查询日志中
  可以用mysqlsla来分析之。也可以在mysqlreport中,有如
DMS 分别分析了select ,update,insert,delete,replace等所占的百份比

4 MYISAM和INNODB的锁定
   myisam中,注意是表锁来的,比如在多个UPDATE操作后,再SELECT时,会发现SELECT操作被锁定了,必须等所有

UPDATE操作完毕后,再能SELECT
  innodb的话则不同了,用的是行锁,不存在上面问题。
5 MYSQL的事务配置项
   innodb_flush_log_at_trx_commit=1
  表示事务提交时立即把事务日志写入磁盘,同时数据和索引也更新

innodb_flush_log_at_trx_commit=0
   事务提交时,不立即把事务日志写入磁盘,每隔1秒写一次
innodb_flush_log_at_trx_commit=2
  事务提交时,立即写入磁盘文件(这里只是写入到内核缓冲区,但不立即刷新到磁盘,而是每隔1秒刷新到磁盘,同

时更新数据和索引,
2
0
分享到:
评论

相关推荐

    mysql深度学习者 MySQL性能优化总结

    MySQL 性能优化总结 MySQL 性能优化是数据库管理和开发人员需要掌握的重要技能。性能优化的目标是让查询更快,减少查询所消耗的时间。为了达到这个目标,我们需要从每一个环节入手,包括连接、配置优化、索引优化、...

    mysql学习资料大全

    1. 学习基本的SQL语句,如SELECT、INSERT、UPDATE、DELETE,以及更复杂的JOIN、子查询和聚合函数。 2. 理解数据库设计原则,如范式理论,以及如何创建和管理表。 3. 掌握索引的类型和使用,以提高查询性能。 4. 学习...

    MySQL性能优化中文手册

    MySQL性能优化是数据库管理员和开发人员的关键技能,它涉及到如何有效地使用SQL语句、存储过程和函数,以提高数据查询速度和系统整体效率。本手册将深入探讨这些关键领域,帮助你理解并实施最佳实践。 在SQL语句...

    高性能MySQL.pdf

    1. **MySQL架构**: MySQL采用客户端/服务器模型,支持多种存储引擎,如InnoDB(事务处理)、MyISAM(快速读取)等。了解这些存储引擎的工作原理、特点和适用场景,有助于选择最佳的数据存储方案。 2. **MySQL历史...

    mysql高性能学习

    "mysql高性能学习"这个主题涵盖了优化MySQL性能的各种技术和策略,旨在帮助用户充分利用MySQL的潜力,提升数据库系统的响应速度和处理能力。 《高性能MySQL(第2版)中文版》是这方面的权威著作,由施瓦茨等专家...

    百度mysql性能优化ppt

    总的来说,“百度mysql性能优化ppt”是全面而深入的MySQL性能调优指南,适合数据库管理员、开发人员以及对数据库性能有高要求的技术团队学习和参考。通过学习这些内容,可以有效提升MySQL数据库的运行效率,降低系统...

    Mysql性能优化教程

    MySQL性能优化是数据库管理中的关键环节,特别是在高并发场景下,优化MySQL的性能对于提升系统整体效率至关重要。本教程将深入探讨MySQL性能优化的各个方面,帮助你理解并实践有效的优化策略。 首先,我们来了解**...

    高性能MySQL

    4. **配置优化**:配置优化是提升MySQL性能的重要手段。书内详细解析了MySQL服务器的配置选项,包括内存管理、日志设置、复制参数等,并给出了针对不同工作负载的配置建议。读者将学习到如何根据业务需求调整配置,...

    Mysql系统学习教程

    MySQL性能优化涉及多个方面,如查询优化(避免全表扫描、合理使用索引)、配置优化(调整内存参数、优化InnoDB缓冲池大小)、硬件优化(增加内存、使用SSD硬盘)等。 通过本教程的学习,读者将全面了解MySQL的使用...

    caoz的mysql性能优化教程

    MySQL性能优化是数据库管理员和...通过学习caoz的MySQL性能优化教程,你将掌握一系列实用技巧,使你的MySQL数据库达到最佳运行状态,满足业务需求,降低运维成本。无论是初学者还是经验丰富的DBA,都能从中获益匪浅。

    mysql性能监控学习.zip

    本资料包“mysql性能监控学习.zip”可能是针对这些主题的一个学习资源,虽然未提供具体的文件内容,但我们可以根据一般的学习路径来详细探讨MySQL性能监控的相关知识点。 首先,了解基础概念至关重要。MySQL性能...

    mysql高性能---mysql数据库的性能调优

    9. **监控与调优工具**:使用如Percona Toolkit、pt-query-digest等工具,实时监控MySQL性能,定位并解决性能瓶颈。 10. **架构设计**:考虑读写分离、分布式数据库、缓存技术(如Redis)等架构设计,可以进一步...

    高性能mysql源码.rar

    深入学习MySQL源码,不仅能帮助我们理解数据库内部运作机制,还可以让我们更好地针对特定场景进行定制化开发和性能优化,解决实际问题。例如,通过源码分析,开发者可以了解SQL执行的详细过程,优化查询语句;或者...

    mysql DBA学习笔记

    了解如何通过监控工具(如Mysql Enterprise Monitor、Percona Monitoring Plugins)收集MySQL性能指标,设置阈值报警,以便及时发现并解决问题。 九、安全性 数据库的安全管理包括用户权限控制、加密技术、审计日志...

    MySQL学习资料PDF

    《高性能MySQL(第3版)》是一本深入探讨MySQL性能优化的权威指南。书中涵盖了如何设计高效的查询,优化查询语句,调整服务器配置,以及利用缓存和复制技术来提升数据库性能。此外,还讲解了如何监控和分析MySQL的...

    MySQL性能调优与架构设计(中文版)

    《MySQL性能调优与架构设计》是一本专为IT专业人士准备的深度指南,它涵盖了数据库管理系统中的核心主题,特别是针对MySQL的性能优化和系统架构设计。这本书以中文清晰版的形式呈现,确保读者能够轻松理解并应用其中...

    高性能mysql PDF 中英文合集

    《高性能MySQL》是数据库...通过学习《高性能MySQL》这本书,读者不仅可以掌握MySQL的基本操作,还能了解到如何在实际应用中设计、优化和维护高效稳定的数据库系统。无论是新手还是经验丰富的DBA,都能从中获益良多。

    2021年MySQL性能调优与架构设计整理.pdf

    ### MySQL性能调优与架构设计的关键知识点 #### 一、MySQL概述 - **定义与特点**:MySQL是一款由MySQL AB公司开发(后被Sun Microsystems收购)的开源数据库管理系统,以其简单高效、可靠性强等特点著称。它是一款...

    mysql性能优化与架构设计

    MySQL性能优化与架构设计是数据库管理员和开发人员必须掌握的关键技能之一。MySQL作为一个广泛使用的开源关系型数据库管理系统,其性能优化对于提升应用的整体性能至关重要。本资料主要关注MySQL的架构理解、性能...

Global site tag (gtag.js) - Google Analytics