MySQL性能优化-预编译语句
MySQL性能优化的方法有很多,预编译是使用比较多,效果比较好的一种方法。本文将简单介绍什么是MySQL预编译语句,如何使用预编译语句,以及使用预编译语句在性能上能带来多少提高。 什么是预编译语句? MyS …
阅读(416)赞 (0)
MySQL性能优化的方法有很多,预编译是使用比较多,效果比较好的一种方法。本文将简单介绍什么是MySQL预编译语句,如何使用预编译语句,以及使用预编译语句在性能上能带来多少提高。 什么是预编译语句? MyS …
阅读(416)赞 (0)
索引是提高查询性能最有效的方式之一,在表结构设计阶段就应当考虑索引的设计,索引也不是越多越好,需要结合具体的SQL、执行频率、数据分布等多个方面综合考虑。本文整理了MySQL索引优化的一些原则、经验 …
阅读(494)赞 (0)
表结构优化是MySQL性能优化中的重要一环,性能优化从设计阶段就应该被考虑,良好的表结构设计从一开始就为系统的高性能打下了基础。本文整理了MySQL表结构优化的一些原则、经验和技巧。 一、选择合适的存储 …
阅读(584)赞 (0)
MySQL show profile 和 show profiles 命令用于展示SQL语句执行过程中的资源使用情况,包括CPU的使用,CPU上下文切换,IO等待,内存使用等,这个命令对于分析某个SQL的性能瓶颈非常有帮助,借助于show prof …
阅读(583)赞 (0)
MySQL一直以来提供show profile命令来获取某一条SQL执行过程中的资源使用与耗时情况,这个命令对于分析具体SQL的性能瓶颈有非常大的帮助,但是这个功能在MySQL新的版本里将会被废弃,取而代之的是使用Perfo …
阅读(596)赞 (0)
1. 什么是MySQL派生表? 派生表(Derived Table),是复杂SQL在执行过程中的中间表,也可认为是临时表,存放SQL执行过程中必不可少的中间数据。通常由跟在from子句或者join子句之后的子查询产生,比如下面 …
阅读(642)赞 (0)
MySQL在处理group by语句时,最常规的方式是扫描整个表,然后创建一个临时表,使用临时表存储分组和聚合函数的值。但是在一些特别的场景下,通过索引可以避免创建临时表,以获取更好的性能。 group by 子句 …
阅读(276)赞 (0)
MySQL全表扫描在大多数场景下性能都是非常低下的,尤其在表数据量特别大的情况下,全表扫描会耗尽数据库资源,严重时会导致数据库服务不可用,数据库崩溃,因此,业务SQL在发布上线前,应当检查是否会导致 …
阅读(596)赞 (0)
mysql 官方文档行构造器表达式优化(Row Constructor Expression Optimization)这一节里面,对行构造表达式及其优化进行了介绍,因为用的不多,也没太关注过。但是看了几个示例,发现有一些逻辑还是与预想的 …
阅读(581)赞 (0)
函数调用在MySQL内部分为确定性函数和不确定性函数。如果一个函数,对于给定的固定参数值,多次调用,返回的结果值不同,那么这样的函数就称之为不确定性函数,比如RAND(), UUID()。返回的结果值相同,则为 …
阅读(449)赞 (0)
MySQL在处理join查询时,遍历驱动表的记录,把驱动表的记录传递给被驱动表,然后根据join连接条件进行匹配。优化器通常会将更小的表作为驱动表,通过在驱动表上做额外的where条件过滤(Condition Filtering …
阅读(515)赞 (0)
索引条件下推,Index Condition Pushdown,简称ICP,是MySQL内部通过索引查询数据的一种优化方法,简单来说就是将原本需要在Server层对数据进行过滤的条件下推到了引擎层去做,在引擎层过滤更多的数据,这 …
阅读(486)赞 (0)
count函数是用来获取表中满足一定条件的记录数,常见用法有三种,count(*),count(1),count(field),这三种有什么区别?在性能上有何差异?本文将通过测试案例详细介绍和分析。 原文地址: mytecdb.com/blog …
阅读(469)赞 (0)
MySQL limit 子句可以实现分页查询,比如limit 100,10 取偏移100条记录之后的10条记录。limit 子句在提供便捷分页功能的同时,也带来了性能问题,当表数据量非常大,分页数非常多,查询比较靠后的页时,SQL …
阅读(567)赞 (0)
大多数MySQL运行在Linux操作系统之上,Linux内核参数对于MySQL的性能有重要的影响,下面将介绍一些最重要的Linux内核参数调优,以便让Linux上运行的MySQL整体性能更高。 1. Swappiness swappiness内核参数 …
阅读(537)赞 (0)
参数调优是MySQL性能优化的重要方面之一,通常只需要重点关注几个主要的参数,就能显著地提高MySQL性能。根据运行的MySQL版本的不同,本文中使用的一些参数默认值可能有所不同,但是基本上还是一致的。 一 …
阅读(543)赞 (0)
申请了一个免费的云主机,1核1G,准备搭建个人博客网站,也就是你现在看到的这个网站,后台数据库使用 MySQL 8.0.17 版本,在个人网站上线一段时间后,经常遇到MySQL 进程 OOM(Out Of Memory) 被杀掉,经过 …
阅读(596)赞 (0)
通过设计表结构来最小化磁盘空间占用,能够减少磁盘数据的读写,实现性能提升。较小的表通常需要更少的内存,这也意味着在查询时,表中数据能够被更快速地处理,表数据的缩减也会使得索引数据更小,索引查 …
阅读(542)赞 (0)
随着数据量的增长,MySQL 单表数据越来越大,单个机器的磁盘空间不足以存储那么大的数据,此时通常会采用分库分表技术,将单表数据按某种规则分割到多个表中。分库分表可能导致的一个结果是库里同时存在很 …
阅读(525)赞 (0)
业务进行 MySQL 性能压测,在压测过程中遇到 thread running 过高的告警,经过排查,cpu,io,内存,网络等监控指标并没有显著的异常,而抓取 processlist,发现大量 SQL 执行处于 opening tables 和 closi …
阅读(473)赞 (0)