首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏GitHub专栏

    4MySQL 工具,yyds!

    今天和大家分享几个 mysql 优化的工具,你可以使用它们对你的mysql进行一个体检,生成awr报告,让你从整体上把握你的数据库的性能情况。 ? mysqltuner.pl 是mysql一个常用的数据库性能诊断工具,主要检查参数设置的合理性包括日志文件、存储引擎、安全建议及性能分析。针对潜在的问题,给出改进的建议。是mysql优化的好帮手。 tuning-primer.sh mysql的另一个优化工具,针于mysql的整体进行一个体检,对潜在的问题,给出优化的建议。 --since '2017-01-07 09:30:00' --until '2017-01-07 10:00:00'> > slow_report3.log 4)分析指含有select语句的慢查询 pt-query-digest --filter '$event->{fingerprint} =~ m/^select/i' /var/lib/mysql/slowtest-slow.log> slow_report4

    1.1K31发布于 2021-08-05
  • 来自专栏Laoqi's Linux运维专列

    MySQL

    MySQL可以从几个方面来做: 1. 架构层: 做从库,实现读写分离; 2. MySQL本身: 如果未配置主从同步,可以把bin-log功能关闭,减少磁盘i/o 在my.cnf中加上skip-name-resolve,这样可以避免由于解析主机名延迟造成mysql执行慢 调整几个关键的 如何可以参考5. 4. 应用层次: 查看慢查询日志,根据慢查询日志优化程序中的SQL语句,比如增加索引 5. 如果有100个连接,那么实际分配的总共排序缓冲区大小为100 × 4 = 400MB。所以,对于内存在4GB左右的服务器推荐设置为4-8M。 mysql经历: http://www.apelearn.com/bbs/thread-11281-1-1.html ----

    1.5K90发布于 2018-05-09
  • 来自专栏数据库相关

    mysql工具

    修改 my.cnf 后记得重启 MySQL 。重启后再运行 MySQLTuner 检查。 另外需要注意的是 MySQL 需要启动 24 小时候再运行 MySQLTuner ,不然有些内容会不准。 mysqladmin <path>  Path to a custom mysqladmin executable       --mysqlcmd <path>    Path to a custom mysql template file       --verbose            Prints out all options (default: no verbose) 例如我有1台服务器,上面跑的是多实例的mysql /mysqltuner.pl --socket /data/multi_instance/3306/mysql.sock

    1.3K40发布于 2019-09-18
  • 来自专栏全栈开发日记

    MySQL性能

    后端程序员在面试中,经常会被问到SQL的操作,于是我也是去补习了一下这方面的知识,感谢各方大佬提供的点子,这里总结如下。 4- 对整数类型指定宽度,比如INT(11),没有任何作用。INT使用32位(4个字节)存储空间,那么它的表示范围已经确定,所以INT(1)和INT(20)对于存储和计算是相同的。 5- TIMESTAMP使用4个字节存储空间,DATETIME使用8个字节存储空间。 6- MySQL如下表达式不会使用索引: select * from where id + 1 = 5 虽然我们很容易看出来id+1=5等价于id=4,但是MySQL无法自动解析这个表达式,使用函数是同样的道理 如果有对应的索引,通常效率会不错,否则,MySQL需要做大量的文件排序操作。

    1.1K10编辑于 2022-05-12
  • 来自专栏java闲聊

    Mysql Limit

    .* FROM student s WHERE s.id BETWEEN 1000000 AND 1000010; 性能对比图 可以看到三种SQL的耗时 ,为什么会有这么大的差距,这主要是MySQL

    2K00发布于 2019-04-18
  • 来自专栏闵开慧

    mysql性能

    mysql思路: 1.数据库设计与规划--以后再修该很麻烦,估计数据量,使用什么存储引擎  2.数据的应用--怎样取数据,sql语句的优化  3.mysql服务优化--内存的使用,磁盘的使用  4. 实际上,您通常可以让中央处理器(CPU)或磁盘速度加倍,也可以让内存增大 4 到 8 倍。 第二种方法是对 MySQL 服务器(也称为 mysqld)进行。 尽管本文并没有包含查询方面的内容(很多著作中已经针对这个主题进行了探讨),不过它会配置 mysqld 来报告可能需要进行的查询。 如果该值超过 4000,就应该查看read_buffer_size,例如 read_buffer_size = 4M。如果这个数字超过了 8M,就应该与开发人员讨论一下对这些查询进行了! 结束语 本文介绍了对 MySQL 进行的一些基础知识,并对这个针对 LAMP 组件进行的 3 部分系列文章进行了总结。

    1.7K50发布于 2018-03-30
  • 来自专栏路人甲Java

    4MySQL 工具,公司大神都在用!

    今天和大家分享几个mysql 优化的工具,你可以使用它们对你的mysql进行一个体检,生成awr报告,让你从整体上把握你的数据库的性能情况。 mysqltuner.pl 是mysql一个常用的数据库性能诊断工具,主要检查参数设置的合理性包括日志文件、存储引擎、安全建议及性能分析。针对潜在的问题,给出改进的建议。是mysql优化的好帮手。 tuning-primer.sh mysql的另一个优化工具,针于mysql的整体进行一个体检,对潜在的问题,给出优化的建议。 --since '2017-01-07 09:30:00' --until '2017-01-07 10:00:00'> > slow_report3.log 4)分析指含有select语句的慢查询 pt-query-digest --filter '$event->{fingerprint} =~ m/^select/i' /var/lib/mysql/slowtest-slow.log> slow_report4

    76220发布于 2021-10-08
  • 来自专栏MySQL

    MySQL性能参考

    前言 说起mysql一般都会想到sql优化、索引、看执行计划,除了这些在创建表时也要下功夫,比如说字段的类型、数据的冗余度,以及sql运行过程中性能的监控都很重要。 三、合理使用索引 索引的建立可以大大提高mysql的检索效率,但是在insert、update、delete会降低更新表的速度,因为更新表时不仅要保存数据还要维护索引文件。 特殊名词 回表:mysql默认给主键创建索引,其叶子节点存放行数据。普通索引叶子节点存放主键,当使用普通索引查询到主键时会再一次根据主键查询一次索引树,会有两次的树的操作,这个行为是回表。 编辑 performance schema 本身是一个数据库,有80+张表,存储mysql运行过程中的性能相关的数据。

    50621编辑于 2024-01-23
  • MySQL复制以及

    (4). slave重现中继日志中的消息,从而改变数据库的数据。 下面放一张经典的图片来说明这一过程: 二. 重启MySQL。 注:如果MySQL配置文件中已经配置过此文件,则可以跳过此步。 2.新建复制账号 在主库里面新建用于从库复制主库数据的账号,并授予复制权限。 因此可以配置replicate_do_db来指定复制的数据库 4.从库初始化主库的数据 如果数据量不算大的情况下,可以使用mysqldump工具导出主库数据,然后导入到从库里面。 设置逻辑时钟:slave_parallel_type=‘logical_clock’; 设置复制线程个数:slave_parallel_workers=4; 五. 需要注意的地方 重启MySQL最好切换未MySQL用户再进行操作,不然文件启动后会有权限问题。

    44010编辑于 2025-03-13
  • 来自专栏java_joseph

    mysql哪些事儿

    说明 终于到了精细策划的mysql环节了!!!! ,但是真正做到mysql,光理论是不行的,而且,一般程序员crud很难接触到的知识,所以这篇文章,面向实战+理论,我也会把这里构建mysql的工具集,也就是说,真正碰到需要的的场景,这篇文章就会起很大的作用 基础知识 上篇文章,过于理论,索引命令放到这里,便于使用。至于慢查询日志和explain是mysql必备的! 这里提供一个库,docker 部署mysql8.0的链接,自行部署即可 docker-mysql8.0踩坑敏感问题 | Joseph's Blog (gitee.io) 用的这个库 新建数据库 shop 这个就没什么好说的了 partions分区表,这个一般不属于范畴, type这个就很重要了,这个指的是mysql找到某一行的方式,!

    71052编辑于 2023-08-06
  • 来自专栏PHP在线

    MySQL初始配置

    随着 大量默认选项的改进, MySQL 5.6比以前版本需要的选项大为减少。 在本文中我将讲述需要优化的配置项。    将此值设置为4G以下是很安全的。 过去的实践表明,日志文件太大的缺点是增加了崩溃时所需的修复时间,但这在5.5和5.6中已得到重大改进。 这是mysql 5.6中引入的一个新选项。 Mark Callaghan 提供了 一些配置建议。 character-set-server=utf8mb4 and collation-server=utf8mb4_general_ci 如之前的 文章所讲述的 ,utf8 编码对新应用来说是更好的默认选项 sql-mode -- MySQL默认对不规范的数据很宽容,并且会静默地截断数据。

    2.8K60发布于 2018-03-07
  • 来自专栏多线程

    MySQLMySQL Explain性能详解

    专栏持续更新中:MySQL详解 在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL 所以我们深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略预计会被优化器采用。 如将主键置于where列表中,MySQL就能将该查询转换为一个常量,system是const类型的特例,当查询的表只有一行的情况下,使用system NULL: MySQL在优化过程中分解语句,执行时甚至不用访问表或索引 要想强制MySQL使用或忽视possible_keys列中的索引,在查询中使用FORCE INDEX、USE INDEX或者IGNORE INDEX。 ,这发生在对表的全部的请求列都是同一个索引的部分的时候,表示mysql服务器将在存储引擎检索行后再进行过滤 Using temporary:表示MySQL需要使用临时表来存储结果集,常见于排序和分组查询

    67610编辑于 2023-12-14
  • MySQL 索引与性能

    索引用于快速找出在某个列中有一特定值的行,如果不使用索引MySQL必须从第l条记录开始读完整个表,直到找出相关的行.表越大,查询数据所花费的时间越多,如果表中查询的列有一个索引,MySQL能快速到达某个位置去搜寻数据文件 默认存储引擎室是InnoDB,在这里我们要改成MyISAM,不然索引会报错 MariaDB [lyshark]> create table table_4( -> id int not null | const | 1 | | | 1 | PRIMARY | suppliers | const | PRIMARY | PRIMARY | 4 mysql无法利用索引完成排序,操作成为文件排序。 int primary key,col1 int,col2 int,col3 int); MariaDB [lyshark]> insert into tab1 values(1,1,2,3),(2,4,5,6

    2.6K20编辑于 2022-12-28
  • 来自专栏JavaJourney

    MySQL之查询优化

    语法解析器和预处理 MySQL通过关键字将SQL语句进行解析,并生成一颗解析树,MySQL解析器将使用MySQL语法规则验证和解析查询。 (2)可以通过调整join_buffer_size缓存大小 (3)join_buffer_size的默认值是256K,join_buffer_size的最大值在MySQL 5.1.22版本前是4G-1, 而之后的版本才能在64位操作系统下申请大于4G的Join Buffer空间。 (4)使用Block Nested-Loop Join算法需要开启优化器管理配置的optimizer_switch的设置block_nested_loop为on,默认为开启。 ? -----+--------+ | 58 | 1 | | 92 | 2 | | 182 | 3 | | 118 | 4

    1.4K10发布于 2020-12-02
  • mysql之利器explain

    MySql很大一部分是索引调整,mysql的explain语句能够查看sql的效率。 (2)possible_kyes和key 表示可能用到的索引,以及最终采用到的索引; (3)rows 表示mysql根据表的统计信息估算出需要读取的行数,理论上rows越少,性能就越好。 (4)Extra 这个和type很容易混淆,也是非常重要的。 如果出现using filesort和using temporary,表示sql有很大的问题,排序和分组查询没有用到索引。 最差的就是using where,innodb返回结果后,mysql执行器还要对结果进行where过滤。一般要和explian返回的type字段进行综合考虑。

    11110编辑于 2025-12-23
  • 来自专栏Java学习录

    初窥MySQL性能

    本文涉及:MySQL自带的性能测试工具mysqlslap的使用及几个性能的方法 性能测试工具—mysqlslap mysqlslap是MySQL自带的一款非常优秀的性能测试工具。 create-schema='test' --query='select * from u_trade_pay_order limit1000;' --number-of-queries=10 影响MySQL Max_used_connections';show variables like 'max_connections%'; 连接数不够的原因 连接数设置过低或过高 慢查询导致IO阻塞,导致连接长时间不释放 SQL执行完,连接未释放 修改MySQL 3.Java多线程面试必备基础知识汇总 4.Java集合源码分析汇总 5.Linux常用命令汇总 6.JVM系列文章汇总 ?

    88140发布于 2019-06-13
  • 来自专栏不温卜火

    Spark性能优化 (4) | JVM

    对于 JVM ,首先应该明确,full gc/minor gc,都会导致JVM的工作线程停止工作,即stop the world。 1. Executor 堆外内存上限大概为300多MB,在实际的生产环境下,对海量数据进行处理的时候,这里都会出现问题,导致Spark作业反复崩溃,无法运行,此时就会去调节这个参数,到至少1G,甚至于2G、4G

    1.2K30发布于 2020-10-28
  • 来自专栏Mysql入门到入魔

    Mysql关于面试题

    是否有过 MySQL 经验?面试官提出的问题:“在你以往的项目开发或维护经历中,是否有遇到过 MySQL 性能瓶颈并进行的情况? 请详细描述一下你遇到的具体问题、诊断过程、采取的措施以及最终的效果。”问题的重点:实际经验:面试官希望了解面试者是否真正有过处理 MySQL 性能问题的实战经验。 面试者如何回答:开场白:“是的,我在多个项目中遇到过 MySQL 性能的需求,特别是在一个高并发的电商平台上,数据库性能直接关系到用户体验和系统稳定性。下面我将分享一次具体的经历。” 开发中使用过哪些工具?面试官提出的问题:“在MySQL数据库的开发和运维过程中,是提升系统性能的关键环节。请问,你在实际项目中使用过哪些MySQL工具?它们各自的作用是什么? 综合分析能力:了解面试者是否能够将多个工具结合使用,形成一套完整的策略。面试者如何回答:开场白:“在MySQL的开发和运维实践中,我使用过多种工具来帮助识别和解决性能问题。

    34900编辑于 2025-01-26
  • 来自专栏开源优测

    MySQL诊断常用SQL语

    先看下基础配置,监控mysql执行的sql语句需要先开启相关日志 linux系统 可以在/etc/mysqld中添加如下: 指定日志路径 log =/usr/local/mysql/mysql.log (这个路径自定义即可) 就可以使用: tail -f mysql.log 如果需要监控慢查询可以添加如下内容: 添加慢查下记录 log-slow-queries = /usr/local/mysql/slowquery.log mysql_log.sql" (这里路径自定义即可) 然后,重新启动mysql,就可以实时看到myql服务器当前正在执行的语句了。 ='information_schema' ORDER BY COUNT_STAR desc LIMIT 1; 4. 查看某条sql各阶段执行时间,可开启profiling功能 set global profiling=on; 其他的,大家可以去搜索下,更多的SQL性能分析、方面的常用语句 大家可以自己动手去试试上面的语句

    1.4K40发布于 2019-05-30
  • 来自专栏算法

    面试官:说说MySQL

    -- 将旧订单数据归档 INSERT INTO orders_archive SELECT * FROM orders WHERE order_date < '2021-01-01'; 4. 增加内存容量:MySQL使用内存缓存数据和索引。 使用高速磁盘:如SSD,减少I/O等待时间。 优化网络配置:确保数据库服务器与客户端间数据传输高效稳定。 6. 总结 MySQL是一个涉及查询语句、索引、表结构、架构和硬件的综合过程。通过上述方法,可以显著提升数据库的性能和稳定性。每种方法都有其适用场景,需要根据实际情况灵活选择和应用。 希望这篇文章能帮助你更好地理解和实践MySQL

    26610编辑于 2024-12-27
领券