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

    Mysql优化

    为什么优化 为了获得成就感? 为了证实比系统设计者更懂数据库? 为了从优化成果来证实优化者更有价值? no 但通常事实证实的结果往往会和您期待相反! 优化有风险,涉足需谨慎! 优化风险 1 . 优化不可避免涉及到变更,变更就有风险! 7 . 优化使性能变好,维持和变差是等概率事件! 8 . 优化不能只是数据库管理员担当风险,但会所有的人分享优化成果! 9 . 这个阶段,需要我们DBA深入业务,或者要和开发人员\业务人员配合实现 优化,最根本的是"优化"人; Mysql参数优化测试(8c32g) 服务器配置 image.png image.png time 40100 SET @@SQL_MODE='' */ 7 Init DB guo 7 Query SHOW TABLES LIKE 'guo' 7 Query LOCK expire_logs_days = 7 //定义了mysql清除过期日志的时间。 二进制日志自动删除的天数。默认值为0,表示“没有自动删除”。

    1.9K62发布于 2021-06-21
  • 来自专栏Lambda

    mysql优化

    索引:(Index) 是帮助mysql高效获取数据的 数据结构 1. 索引目的在于提高查询效率,可以类比字典 2. 可以简单理解为"排好序的快速查询数据结构" 3. 服务器配置文件优化 1. MySQL允许最大的进程连接数, 2. 每个主机的连接请求异常中断的最大次数, 3. 设置表高速缓存的数目, 4. 查询优化: 1. 3. order by group by 优化 慢查询日志:

    1.3K20编辑于 2022-04-13
  • 来自专栏云计算linux

    MySQL优化

    15 MySQL优化 数据库性能优化看起来只牵扯到数据库,但其实范围涉及极广,从计算机和网络硬件到操作系统,网络设计到安全,从各种软件再到数据库本身,性能优化从来都不是单一的,而是一个整体。 在进行MySQL优化之前,必须要了解的就是MySQL的查询过程,很多查询优化工作实际上就是遵循一些原则,让MySQL优化器能够按照预想的合理方式运行而已。 应用程序方面: 应用程序稳定性; SQL语句性能; 串行访问资源; 性能欠佳会话管理; 这个应用适不适合用MySQL。 数据库优化方面: 内存; 数据库结构(物理&逻辑); 实例配置。 32G内存以上100M SQL优化 1. 选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。 7.

    46210编辑于 2024-12-07
  • 来自专栏Howl同学的学习笔记

    Mysql优化

    InnoDB MyISAM 事务处理 支持 不支持 全文搜索 不支持 支持 SELECT ,UPDATE,INSERT,DELETE 大量INSERT或UPDATE | DELETE 表一行一行的删除 大量SELECTDELETE | DELETE表先DROP再重建 AUTO_INCREMENT 自增计数器仅存储在主内存中 锁 表锁,行级锁 表锁 外键 支持 不支持 行数 扫描表来计算 保存行数 存储 把数据和索引存放在表空间里面 表被存放在三个文件 跨平台 跨平台可直接拷贝使用 跨平台很难直接拷贝 压

    1.1K40发布于 2020-03-10
  • 来自专栏allsmallpi博客

    MySQL优化

    看到这个的时候,查询就需要优化了     -Using temporary 使用了临时表。看到这个的时候,也需要优化 (3)PROFILING分析SQL语句 1.开启profile。 包括执行状态、是否锁表等 mysql> SHOW processlist; (4)PROCEDURE ANALYSE()取得建议 通过分析select查询结果对现有的表的每一列给出优化的建议 mysql 只需在批量删除数据行之后,或定期(每周一次或每月一次)进行一次数据表优化操作即可,只对那些特定的表运行。 (6)REPAIR TABLE修复被破坏的表 mysql> REPAIR TABLE table_name; (7)CHECK TABLE检查表是否有错误 mysql> CHECK TABLE table_name ; 五、定位慢查询 MySQL慢查询 六、分区 MySQL分区和分表 七、配置优化 MySQL配置优化

    93520发布于 2021-02-25
  • 来自专栏友弟技术工作室

    mysql优化

    上篇文章是关于mysql优化的,那个内容是我大学的时候学习的笔记,最近学习发现一些比较好的内容,在这里分享给大家。 版权源于网上。 工作中使用最多的就是MySQL, 但是mysql优化也就是通过建索引以及缓存数据来优化的。使用explain比较多。对于其他的优化技能没有使用过。 ? 1、硬件层相关优化 请一个DBA团队优化,还没有全部把机械硬盘换成ssd来的快。所以,底层硬件也是很重要的。 针对关键内核参数设定合适的值,目的是为了减少swap的倾向,并且让内存和磁盘I/O不会出现大幅波动,导致瞬间波峰负载: 1、将vm.swappiness设置为5-10左右即可,甚至设置为0(RHEL 7以上则慎重设置为 层相关优化 3.1、关于版本选择 官方版本我们称为ORACLE MySQL,这个没什么好说的,相信绝大多数人会选择它。

    2.1K70发布于 2018-04-25
  • 来自专栏开发笔记

    MySQL优化

    SQL优化发生在业务量达到一定规模的时候 目的是优化SQL的执行效率 MySQL 优化 优化范围 硬件资源 操作系统参数,数据库参数配置 SQL语句,索引优化 SQL优化 数据库设计优化【规范,前期设计 任何地方都不要使用 select * from t ,用具体的字段列表代替“*”,不要返回用不到的任何字段 尽量避免使用游标,因为游标的效率较差,如果游标操作的数据超过1万行,那么就应该考虑改写 后记——了解MySQL 索引目的 提高查询效率 【类比字典和借书】 如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql。 ----------------2019/10/9 参考《MySQL DBA工作笔记》中杨建荣老师举得一个非常形象的例子: “比如某公司里面有一个开发小组,组长管理一些程序员,自己也参与开发工作”——B MySQL默认使用B+Tree索引 索引本身也很大,所以存储在磁盘中,需要加载到内存中执行。 故:索引结构优劣标准:磁盘I/O次数 BTree是为了充分利用磁盘预读功能而创建出来的一种数据结构。

    1.3K40发布于 2020-01-22
  • 来自专栏后端码事

    MYSQL 优化

    深度应用者则着眼于从改进Mysql软件自身层面,或者开发另外的数据库引擎和硬件应用来拓展Mysql的生态系统。 数据库层面优化 影响数据库应用性能的最重要因素其设计的合理性: 表的结构是否合适? 如果基础的优化指引无法解决性能问题,则可以通过执行计划调整索引,查询条件,联合条件等(执行计划优先)。 调整MySQL缓存使用的内存大小及属性。 AND c AND d)   (a b>5 AND b=c AND a=5   (B>=5 AND B=5) OR (B=6 AND 5=5) OR (B=7 IS NULL 优化 MySQL对col_name IS NULL 的优化和对col_name = constant_value的优化方式一样。 MySQL也可以优化类似col_name = expr OR col_name IS NULL这样的组合。这种形式通常见于子查询。

    3K40发布于 2020-09-11
  • 来自专栏全栈程序员必看

    MySql优化

    mysql多表连接查询的模式 左表和右表的共有部分,即内连接 SELECT fileds FROM TableA AS A INNER JOIN TableB AS B ON A.key1 = fields FROM TableA AS A RIGHT JOIN TableB AS B ON A.key1 = B.key2 WHERE A.key1 IS NULL; 左表的全部+右表的全部 mysql 索引的概念 官方定义:索引是帮助mysql高效获取数据的数据结构。划重点:数据结构。 查看索引 SHOW INDEX FROM tableName\G 其中,tableName是表名,\G是为了显示格式优化7.

    90630编辑于 2022-08-05
  • 来自专栏devops_k8s

    Mysql优化

    为什么优化 为了获得成就感? 为了证实比系统设计者更懂数据库? 为了从优化成果来证实优化者更有价值? no 但通常事实证实的结果往往会和您期待相反! 优化有风险,涉足需谨慎! 优化风险 1 . 优化不可避免涉及到变更,变更就有风险! 7 . 优化使性能变好,维持和变差是等概率事件! 8 . 优化不能只是数据库管理员担当风险,但会所有的人分享优化成果! 9 . 避免业务逻辑错误,避免锁争用.这个阶段,需要我们DBA深入业务,或者要和开发人员\业务人员配合实现优化,最根本的是"优化"人; Mysql参数优化测试(8c32g) 服务器配置 time用于计时 dd 40100 SET @@SQL_MODE='' */ 7 Init DB guo 7 Query SHOW TABLES LIKE 'guo' 7 Query LOCK expire_logs_days = 7 //定义了mysql清除过期日志的时间。二进制日志自动删除的天数。默认值为0,表示“没有自动删除”。

    1.4K30编辑于 2022-05-09
  • 来自专栏编程之禅

    MySQL优化

    MySQL优化 MySQL 优化方案 对于 **MySQL** 的性能优化,大部分情况下都是想减少查询所消耗的时间;而一个查询是由很多个环节组成,那么就需要从每个环节消耗时间进行入手。 配置优化(连接) 当客户端连接到服务端有可能服务端连接数不够导致应用程序获取不到连接而报出 **Mysql: error 1040: Too many connections**** **的错误。 SQL 语句优化优化器) 慢查询日志 在服务层每天执行了很多的 **SQL** 语句,那么就需要记录执行比较慢的 **SQL** 语句;而优化器就是对执行的 **SQL** 语句进行分析,生成执行计划 中提供了一个执行计划工具,通过该工具可以模拟优化执行 **SQL** 查询语句的过程得到 **MySQL**  是怎么对一条 **SQL** 语句的过程并且可以对其进行分析。 通过模拟优化器执行 **SQL** 查询语句的过程得到 **MySQL** 是怎么处理一条 **SQL** 语句的并可以对其进行语句或表的性能瓶颈。

    94920编辑于 2022-05-10
  • 来自专栏码客

    Mysql优化

    表示查询超过3秒才记录; 清空日志后慢查询就不会继续写入了,重启后才能继续写入 set global slow_query_log=0; set global slow_query_log=1; 连接优化优化主要针对innodb引擎 创建慢查询日志文件 cd /var/log/ mkdir mysql cd mysql vi mysql-slow.log 打开配置文件 vi /etc/my.cnf ,对于这种情况使用USE INDEX 7)使用explain及set profile优化SQL语句 大的复杂的SQL语句拆分成多个小的SQL语句 数据库是存储数据的地方,但不是计算数据的地方 where b like ‘haha%’ order by time limit 100; 第二种优化方法(注意:这种方法只适用于mysql引擎是myisam的): 语句不变,将haha字段加为全文索引 索引 参见:Mysql优化-索引 Show Profile【重点】 是什么 mysql提供可以用来分析当前会话中语句执行的资源消耗情况。

    1.1K20发布于 2019-10-22
  • 来自专栏大大刺猬

    MYSQL优化

    本文主要参考官网的优化 https://dev.mysql.com/doc/refman/5.7/en/optimization.html优化SQL语句没得完美的优化方案, 要么牺牲写性能(多数情况是这样 嵌套循环连接算法Nested-Loop Join Algorithms嵌套连接优化mysql的cross join 等价于 inner join (标准sql不是这样的)###(左右)外连接避免全表扫描优化 500,000 行的表,键值长度为 3 个字节(大小为 MEDIUMINT),公式表示 log(500,000)/log(1024/3*2/(3+4)) + 1= 4seeks该索引需要大约 500,000 7 优化器成本模型 相当于oracle的 CBO主要跟两个表有关: mysql.server_cost 和 mysql.engine_cost如果值非空(默认NULL)的话, 计算的时候就会考虑这个值, ##外部锁外部锁定是使用文件系统锁定来管理MyISAM多个进程对数据库表的争用 innodb不涉及mysql服务器的优化系统优化:尽量不要使用swap, 性能确实比不上内存, (内存不够的除外)避免

    1.3K20编辑于 2022-11-09
  • 来自专栏全栈程序员必看

    mysql慢查询优化方法_MySQL查询优化

    :索引没有设计好、SQL 语句没写好、MySQL 选错了索引 ’mysql慢查询优化 第一步:开启mysql慢查询日志,通过慢查询日志定位到执行较慢的SQL语句。 第二步:利用explain关键字可以模拟优化器执行SQL查询语句,来分析SQL查询语句。 第三步:通过查询的结果进行优化。 ,可以随着底层优化器输入的更改而更改 EXPLAIN 不会告诉显示关于触发器、存储过程的信息对查询的影响情况 EXPLAIN 不考虑各种 Cache EXPLAIN 不能显示 MySQL 在执行查询时的动态 语句,由于执行环境和 EXPLAIN PLAN 环境的不同,此计划可能与 SQL 语句实际的执行计划不同 环境准备: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M7M1AyNV 在优化过程中分解语句,执行时甚至不用访问表或索引 从上到下,性能从差到好,一般来说需要保证查询至少达到 range 级别, 最好达到 ref ---- key possible_keys: 指出 MySQL

    18.4K40编辑于 2022-11-07
  • 来自专栏CaiRui

    Mysql-7-mysql函数

    sin(x) 返回参数x的正玄值 asin(x) 返回参数x的反正玄 cos(x) 返回参数x的余弦值 acos tan(x) atan(x) cot(x) 返回参数x的余切值 例:mysql mysql> select weekday(now()); +----------------+ | weekday(now()) | +----------------+ | 3 | +------ 如果第二个参数是0,星期从星期天开始,如果第二个参数是1, 从星期一开始,如下所示: mysql> select week(now(),0); +---------------+ | week(now( ),0) | +---------------+ | 19 | +---------------+ 1 row in set (0.00 sec) mysql> select week(now(),1 > 提取表达式的年份 mysql> select year(now()); +-------------+ | year(now()) | +-------------+ | 2013 | +----

    8.6K70发布于 2018-01-17
  • 来自专栏IT技术订阅

    MySQL优化之缓存优化

    这里讲的主要是MySQL 5.6的版本。 wrapper 一、MySQL缓存分类 MySQL优化指的是一个很大的系统,面试的时候我之前是从sql的语句优化方面去说的,这种优化也有作用,不过是从逻辑方面去优化。 但是当所有的逻辑层面已经无可优化,所有的索引都已经加好,表结构也设计的合理,但是遇到高并发的时候,为什么MySQL还是扛不住呢。当然可以通过其他的方面去缓解MySQL的压力,这里我们暂且不谈。 那么服务器的硬盘、CPU,内存,网络都有影响到MySQL的性能。MySQl是非常耗费内存的,线上服务器的MySQL内存要吃到80%左右,内存过小,其他的优化空间其实很小。 另外连接(connection)也是影响MySQL性能的重要一方面。MySQL客户机与MySQL服务器之间的连接是MySQL客户机与MySQL服务器反复握手的结果。

    1.6K20编辑于 2022-05-11
  • 来自专栏Java帮帮-微信公众号-技术文章全总结

    Tomcat7优化

    用了很久的Tomcat,没怎么看过它的优化,今天抽出时间研究了下,将内容记录下。 示的参数来优化tomcat。    二、优化 1. 禁用AJP协议   (1)通过禁用AJP协议,达到在集群的时候提高处理请求的时间。 将BIO通讯模式修改为NIO通讯模式   (1)tomcat通讯协议支持http1.0和1.1,tomcat默认走的是BIO通讯模式,tomcat7和tomcat8之所以默认的都是效率低下的BIO通讯模式 优化连接器   最佳实践:   5.

    2K100发布于 2018-03-15
  • 来自专栏技术杂记

    mysql 迁移7

    修改zabbix统计数据过期时间 [root@new-master mysql]# vim /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh [root@new-master mysql]# grep 120 /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh if [ `expr $TIMENOW - $TIMEFLM` -gt 120 ]; then [root@new-master mysql]# 修改之前是300,也就是5分钟,这个监控粒度太粗,所以改为 -4.013-3.el6.x86_64 has missing requires of libmysqlclient.so.16()(64bit) perl-DBD-MySQL-4.013-3.el6. x86_64 has missing requires of libmysqlclient.so.16(libmysqlclient_16)(64bit) php-mysql-5.3.3-40.el6_

    1.9K20编辑于 2022-03-21
  • 来自专栏技术杂记

    mysql 迁移7

    修改zabbix统计数据过期时间 [root@new-master mysql]# vim /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh [root@new-master mysql]# grep 120 /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh if [ `expr $TIMENOW - $TIMEFLM` -gt 120 ]; then [root@new-master mysql]# 修改之前是300,也就是5分钟,这个监控粒度太粗,所以改为 -4.013-3.el6.x86_64 has missing requires of libmysqlclient.so.16()(64bit) perl-DBD-MySQL-4.013-3.el6. x86_64 has missing requires of libmysqlclient.so.16(libmysqlclient_16)(64bit) php-mysql-5.3.3-40.el6_

    1.8K30编辑于 2022-03-22
  • 来自专栏陶然同学博客

    MySQLMySQL优化(三)

    show profile分析SQL Mysql从5.0.37版本开始增加了对 show profiles 和 show profile 语句的支持。 show profiles 能够 在做SQL优化时帮助我们了解时间都耗费到哪里去了。 通过 have_profiling 参数,能够看到当前MySQL是否支持profile: select @@have_profiling; set profiling=1; -- 开启profiling 支持进一步选择all、cpu、block io 、context switch、 page faults等明细类型类查看MySQL在使用什么资源上耗费了过高的时间。 context switch、 page faults等明细类型类查看MySQL在使用什么资源上耗费了过高的时间。

    1.6K50编辑于 2023-03-15
领券