mysql8.0文档_Mysql事务

mysql8.0文档_Mysql事务以下文章来源于MySQL解决方案工程师,作者徐轶韬 MySQL8.0里包括一款功能——CPU资源分组管理。它实现的目的是将CPU资源分组,并且赋予运行不同类型的查询。通过它可以解决DBA的一些痛点,…

MySQL8.0功能详解——资源组管理

MySQL8.0里包括一款功能——CPU资源分组管理。它实现的目的是将CPU资源分组,并且赋予运行不同类型的查询。通过它可以解决DBA的一些痛点,例如:夜间进行的批处理、大型报表非常耗费资源,为了不影响其它查询的进行,不得不将其放在从服务器上运行。使用资源组管理后,DBA可以将工作分配给限定的CPU核心或者是vCPU。另外,DBA还可以将资源分配给不同的应用,例如分配8个核心给应用A,分配4个核心给应用B,使服务器的资源更加合理的使用。

简单说明一下它的使用过程,首先,需要创建资源组,为每个资源组分配适当的CPU核心数量或者是vCPU。其次,将资源组分配给正在运行查询的线程ID。之后,各个查询就会按照不同的资源组限定的范围运行。

下面详细介绍一下相关的内容:

**资源组:**资源组包括名称,类型,分配的CPU核心,以及优先顺序。创建资源组时,使用SQL执行CREATE RESOURCE GROUP,例句如图:

mysql8.0文档_Mysql事务

资源组的类型分为user和system,system的优先顺序要高于user,system的优先范围在-20到0之间,user的范围在0到19。创建之后,可以通过SELECT * FROM INFORMATION_SCHEMA.RESOURCE_GROUPS来查看资源组的信息。例如:

mysql8.0文档_Mysql事务

有没有发现什么问题?这个图是创建资源组之前的信息,vcpu显示的为何是0-0?原因在于我的虚机一开始只有一个vCPU,重新配置虚机后,再看一下:

mysql8.0文档_Mysql事务

这次显示0-3,证明我为虚机配置了4个vCPU。看一下创建资源组之后的结果:

mysql8.0文档_Mysql事务

**线程ID:**创建好资源组之后,DBA要做的事情就是将其分配给对应的线程ID。可以通过查询performance_schema.threads来查看线程ID。

mysql8.0文档_Mysql事务

然后执行:SET RESOURCE GROUP Batch FOR thread_id;

为执行的查询分配资源组之后,DBA还可以根据实际情况修改资源的分配。执行:

mysql8.0文档_Mysql事务

这时我们再看一下资源组的信息:

mysql8.0文档_Mysql事务

资源已经重新调配,因此,DBA可以灵活的控制CPU资源为各个应用进行服务。

注意事项:

  • 执行资源组元数据的SQL文不会计入日志,因此MySQL的复制功能不会将其进行复制。

  • 如果使用了线程池插件,资源组功能无法使用。

  • 资源组无法在macOS上使用。

  • 资源组在FreeBSD 和 Solaris上会忽略优先顺序。

  • Linux上也会忽略优先顺序,除非开启CAP_SYS_NICE 功能。

更为详尽的内容请访问“https://dev.mysql.com/doc/refman/8.0/en/resource-groups.html”,希望该功能对您有所帮助。

感谢关注MySQL!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9826.html

(0)
上一篇 2023-01-31
下一篇 2023-01-31

相关推荐

  • 利用Python Dictionary实现高效数据存储和检索

    利用Python Dictionary实现高效数据存储和检索Python提供了很多内置的数据结构,其中Dictionary(字典)是一个非常有用的数据结构,它可以用来存储任意数量、任意类型的数据,并且可以通过key来实现O(1)的时间复杂度进行数据的查找、插入和删除操作。

    2023-12-15
    66
  • Django配置MySQL数据库教程

    Django配置MySQL数据库教程
    简介 在实际生产环境,Django是不可能使用SQLite这种轻量级的基于文件的数据库作为生产数据库。一般较多的会选择MySQL。如果使用SQLite这种轻…

    2023-04-05
    111
  • 使用conda安装numpy

    使用conda安装numpy NumPy是Python中重要的科学计算库之一。其提供了高效的数组操作和科学计算函数。在Python中使用NumPy可以方便地进行各种数学计算和数据处理,并且可以很好地集成到Python生态环境中。

    2024-04-23
    21
  • 如何打开Python?

    如何打开Python?Python是一种高级编程语言,已经成为数据科学、机器学习、Web开发以及许多其他领域中最受欢迎的编程语言之一。如果你想要开始使用Python,首先要打开Python。在这篇文章中,我们将介绍如何打开Python,以及如何使用Python的解释器和IDE。

    2024-04-19
    20
  • centos7u盘安装_mips 龙芯

    centos7u盘安装_mips 龙芯UOS 20(统一操作系统)的安装方法同样适用于深之度的Deepin V20和Debian 10 Buster 一、安装数据库 sudo apt install mariadb-server 二、初…

    2022-12-23
    99
  • Python字符串拆分函数解析

    Python字符串拆分函数解析Python中的字符串拆分函数是split(),该函数的主要作用是将一个字符串按照指定的分隔符进行拆分,并返回一个由拆分后的字符串组成的列表。

    2024-01-31
    54
  • redis持久化机制和如何实现持久化_redis持久化机制是什么

    redis持久化机制和如何实现持久化_redis持久化机制是什么1、Redis数据持久化的必要性 由于redis是基于内存的数据库,面临数据掉电易失的风险,要避免数据丢失,最好将内存数据持久化到磁盘等永久存储介质上。服务重启时,会先加载磁盘文件内的数据到内存,完成

    2023-01-30
    97
  • Python软件包中心

    Python软件包中心Python是一种高级程序设计语言,它通过简单易懂的语法和强大的功能来吸引众多开发人员。是当前行业中最流行的编程语言之一。Python的强大功能之一就是拥有丰富的软件包,这些软件包为Python程序员提供了方便、高效的编程方式。

    2024-04-26
    12

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注