
mysql
不务正业的猿
桃李不言,下自成蹊。
展开
-
Mysql整理-高级特性
这些高级特性使MySQL成为一个强大、灵活且可靠的数据库管理系统,适用于从小型应用到大型企业级应用。随着技术的不断进步,MySQL也在持续增加新功能,以适应不断变化的数据管理需求。MySQL作为一个成熟的关系型数据库管理系统,提供了许多高级特性,这些特性使得MySQL能够处理复杂的数据处理场景,满足企业级应用的需求。允许在数据库中定义和存储SQL脚本,可以通过一个简单的调用来执行复杂的操作。提供详细的日志记录,包括错误日志、查询日志、二进制日志等。支持大型数据库和高并发的应用,适合扩展性要求高的环境。原创 2024-03-03 11:30:30 · 175 阅读 · 0 评论 -
Mysql整理-备份与恢复
MySQL的备份和恢复是数据库管理中至关重要的部分,用于数据的安全性和灾难恢复。正确的备份策略可以保护数据免受硬件故障、用户错误、数据损坏或其他意外事件的影响。备份和恢复是任何数据库管理计划的核心部分,对于确保数据的安全和可靠性至关重要。使用全备份和增量备份(二进制日志)恢复到特定时间点的状态。使用物理备份或逻辑备份的数据恢复整个数据库。适用于恢复到数据损坏或误删除之前的状态。根据数据的重要性和更新频率定期进行备份。可以提供灾难恢复和远程备份的功能。仅备份自上次备份以来更改的数据。原创 2024-03-03 11:29:37 · 144 阅读 · 0 评论 -
Mysql整理-主从复制
在这种架构中,一个MySQL服务器充当主(master)服务器,而一个或多个其他MySQL服务器充当从(slave)服务器。每个从服务器都有一个I/O线程,用于连接主服务器并请求binlog中的更改,然后将这些更改写入它自己的中继日志(relay log)。主从复制提供了一种强大的机制来提高数据的可用性和读取性能,但它也需要仔细的规划和管理来确保系统的稳定性和一致性。从服务器上的SQL线程读取中继日志中的事件,并在从服务器的数据库中应用这些更改。制定应对主服务器故障的策略和从服务器晋升为新主服务器的程序。原创 2024-03-02 10:37:18 · 204 阅读 · 0 评论 -
Mysql整理-复制
MySQL复制是一种将数据从一个MySQL服务器(主服务器)复制到一个或多个MySQL服务器(从服务器)的过程。MySQL复制可以是同步的,也可以是异步的。MySQL复制是数据库管理的一个重要方面,可以提高数据的可用性和可靠性。异步复制:主服务器的更改会有延迟地应用到从服务器上。同步复制:在主服务器上的更改实时反映到从服务器上。标准复制:使用二进制日志和从服务器的IO线程进行。读操作可以在从服务器上进行,减轻主服务器的负担。在主服务器出现故障时,从服务器可以接管。将主服务器上的数据同步到从服务器。原创 2024-03-02 10:36:25 · 145 阅读 · 0 评论 -
Mysql整理-查询性能优化
MySQL查询性能优化是一个关键的任务,特别是在处理大型数据库和复杂查询时。性能优化可以显著提高应用程序的响应时间和数据库的处理能力。重要的是要定期监控和分析数据库的性能,并根据需要调整优化策略。确保查询条件使用索引的最佳方式(比如避免在索引列上使用类型转换)。减少子查询的使用,尤其是在SELECT列表和WHERE子句中。避免使用SELECT *,只选择需要的列。使用合适的数据类型,避免不必要的大型字段。使用持久连接来减少连接和断开连接的开销。考虑使用表分区来提高大表的性能。原创 2024-03-01 11:10:43 · 244 阅读 · 0 评论 -
Mysql整理-索引
MySQL中的索引是一种数据库对象,可以提高数据检索的速度,类似于书籍的目录。它们是对数据库表中一列或多列的值进行排序的数据结构,可以让数据库查询引擎快速找到所需的行。索引对于提高数据库查询的性能至关重要,特别是在处理大量数据时。过多的索引会增加存储空间的需求,降低更新表的性能。避免在数据变化频繁的列上创建索引,因为这会降低写操作的效率。只对值的一部分进行索引,可以节省空间,但可能降低一些效率。最常用的索引类型,适用于全键值、键值范围或键值前缀查找。索引的列顺序非常重要,影响索引的效果。原创 2024-03-01 11:09:40 · 384 阅读 · 0 评论 -
Mysql整理-主键和外键
在这个例子中,Enrollments表的StudentID列是外键,它引用Students表的StudentID列。在MySQL中,主键和外键是两种重要的数据库约束,用于建立和维护表之间的关系以及确保数据的完整性和一致性。正确使用主键和外键是关系数据库设计的重要部分,有助于保持数据的组织和结构,同时提高数据操作的效率和准确性。外键是表中的一个字段,它引用另一个表的主键。主键列的每个值必须是唯一的。外键的值必须在它引用的那个表的主键列中存在,或者是NULL。主键和外键的使用有助于确保数据的完整性和准确性。原创 2024-02-29 11:58:10 · 226 阅读 · 0 评论 -
Mysql整理-SQL语言
MySQL中使用的SQL(结构化查询语言)是一种用于存储、操作和检索存储在关系数据库中数据的标准语言。它包括各种命令、函数和操作符,使得用户可以执行广泛的数据操作和查询。了解这些SQL命令和概念是进行有效的MySQL数据库管理和开发的基础。通过结合这些命令,可以执行复杂的数据操作和查询,满足各种数据处理的需求。例如:REVOKE SELECT ON database.table FROM 'user'@'host'事务控制命令用于管理对数据的更改,保证数据的完整性。DML涉及数据的增加、修改、删除和查询。原创 2024-02-29 11:57:16 · 238 阅读 · 0 评论 -
Mysql整理-Mysql数据类型
有符号范围是-2147483648到2147483647,无符号范围是0到4294967295。有符号范围是-8388608到8388607,无符号范围是0到16777215。有符号范围是-32768到32767,无符号范围是0到65535。有符号范围是-2^63到2^63-1,无符号范围是0到2^64-1。有符号范围是-128到127,无符号范围是0到255。DATETIME:日期和时间的组合,格式为YYYY-MM-DD HH:MM:SS。DATE:日期,格式为YYYY-MM-DD。原创 2024-02-28 10:48:57 · 251 阅读 · 0 评论 -
Mysql整理-Mysql基准测试
MySQL基准测试是一种评估数据库性能的方法,通过模拟不同类型的负载和操作,可以测量MySQL服务器在特定条件下的表现。基准测试对于理解数据库的当前性能水平、识别瓶颈以及验证优化策略的有效性非常重要。基准测试不仅可以帮助识别当前的性能问题,还可以作为未来系统扩展和升级的参考依据。重要的是定期进行基准测试,以持续监控和改进数据库性能。sysbench是一个多线程的基准测试工具,用于评估MySQL的性能。根据测试结果进行调整,然后重新进行基准测试以验证更改的效果。根据测试目标编写或选择合适的测试脚本和数据。原创 2024-02-28 10:43:32 · 434 阅读 · 0 评论 -
Mysql整理-Mysql优化
MySQL数据库的优化是一个涵盖多个方面的过程,包括优化SQL查询、数据库结构、服务器配置以及整体的系统环境。这些策略可以单独或组合使用,以提高MySQL数据库的性能。重要的是持续监控数据库的性能,根据具体情况调整优化策略。优化查询语句,避免使用复杂的子查询,考虑使用联接(JOIN)。根据系统的内存和处理能力调整InnoDB缓冲池的大小。使用合适的数据类型,避免使用过大的数据类型。确保有足够的内存处理大型数据库和复杂的查询。减少不必要的数据请求,只检索需要的列和行。定期分析和优化索引,避免过多的索引。原创 2024-02-27 14:20:07 · 221 阅读 · 0 评论 -
Mysql整理-Mysql存储引擎
选择哪种存储引擎取决于应用的需求,如对事务的支持、对并发的需求、数据的持久化和备份需求等。在MySQL中,不同的表可以使用不同的存储引擎,这提供了极大的灵活性。MySQL数据库支持多种存储引擎,每种引擎都有其独特的特性和用途。存储引擎是MySQL的一个重要概念,因为不同的存储引擎影响着数据库的性能、事务处理、锁定水平、并发控制等方面。曾是MySQL的默认存储引擎,在InnoDB成为默认引擎之前广泛使用。默认的存储引擎,适用于大多数需要高可靠性和事务处理的应用。用于存储大量的不常更新的数据,如日志信息。原创 2024-02-27 14:18:51 · 125 阅读 · 0 评论 -
Mysql整理-Mysql并发控制
MySQL中的并发控制是指数据库管理系统用于管理同时访问数据库的多个事务的机制。在设计和优化数据库时,需要考虑应用程序的特定需求和预期的工作负载,以选择适当的并发控制策略。对于需要高并发读写操作的应用,使用支持行级锁和MVCC的InnoDB存储引擎通常是更好的选择。行级锁:只锁定被访问的数据行,允许更高的并发性,但开销更大。对于读密集型的应用,表级锁可能就足够了,尤其是在数据更新不频繁的情况下。MVCC是一种在不锁定整个数据库的情况下实现并发控制的技术。MySQL提供了不同级别的锁定,如表级锁和行级锁。原创 2024-02-26 10:44:48 · 452 阅读 · 0 评论 -
Mysql整理-Mysql事务
MySQL中的事务是一组顺序执行的数据库操作,要么完全执行,要么完全不执行。事务内的所有操作都是作为一个单一的工作单元执行的。事务的执行不应该被其他事务的操作干扰。多个并发执行的事务之间应该是相互隔离的,以避免数据不一致。COMMIT:提交当前事务,使自事务开始以来所做的所有更改成为永久更改,并释放所有锁定的资源。ROLLBACK:回滚当前事务,撤销自事务开始以来所做的所有更改,并释放所有锁定的资源。一旦事务成功提交,其结果就是永久的,即使系统发生故障,提交的事务结果也不会丢失。原创 2024-02-26 10:42:42 · 388 阅读 · 0 评论 -
Mysql整理-架构
MySQL的架构是多层次的,包括多个不同的组件,这些组件协同工作以提供数据库服务。原创 2024-02-25 17:23:00 · 158 阅读 · 0 评论 -
Mysql整理-概述
MySQL是一种流行的开源关系数据库管理系统(RDBMS),它使用结构化查询语言(SQL)来访问、管理和处理数据。原创 2024-02-25 17:22:00 · 274 阅读 · 0 评论 -
mysql事务
上面做了关于存储引擎的测试,一开始我是没有把“自动提交事务”关闭,所以插入速度很慢,手动关闭“自动提交事务”后,性能非常好,这里我们就研究一下mysql事务。事务必须满足4个条件(ACID): 原子性(Atomicity)。一个事务(transaction)中的所有操作,是一个整体的,要么是全部执行完成,要么全部不执行完成。所以在执行过程中出现问题,就会被回滚(rollback)到事务开始前的状态。 一致性(Consistency)。一致性,是指数据库层面,并不是数据库操作之后,表数据前原创 2020-10-22 12:02:48 · 180 阅读 · 0 评论 -
InnoDB和MySIAM的比较
目录开篇Mysql引擎InnoDB和MySIAM的比较插入数据性能比较开篇之前自己用docker部署了一个mysql,近期想重温一下mysql,做一些比较偏的研究。对于Java开发工程师来说,基本都了解mysql,都是配合JavaEE的持久层框架,如hibernate、mybatis或者最原生的JDBC。一般都是在Java代码层面上使用mysql,对于一些比较底层的用法,反而不是很熟悉。因此,近期我会分享一些比较偏一点的mysql知识,希望对大家有所帮助。Mysql引擎很多时原创 2020-10-05 23:18:08 · 447 阅读 · 2 评论