mysql
-
mysql存储过程的优缺点



MySQL存储过程优点:提升性能,减少网络通信,增强安全性,便于维护与复用;缺点:调试困难,移植性差,占用数据库资源,开发管理复杂。是否使用需结合项目规模、团队能力与系统架构综合判断。 MySQL存储过程是一段预编译的SQL代码,可以被反复调用。它在数据库层实现逻辑处理,有其特定的应用场景和影响。以…
-
mysql spring事务的特性



Spring通过@Transactional注解封装MySQL事务,利用InnoDB引擎实现原子性、一致性、隔离性和持久性,支持声明式与编程式事务管理,确保数据完整。 MySQL 在 Spring 中的事务管理依赖于数据库本身的事务机制和 Spring 的事务抽象层。Spring 通过 声明式事务 …
-
mysql如何创建哈希索引



MySQL不支持直接创建哈希索引,但可通过MEMORY引擎或虚拟列模拟实现。1. MEMORY引擎原生支持HASH索引,适用于等值查询的小数据量内存表;2. InnoDB可通过生成哈希列(如CRC32)并建立B+树索引模拟哈希查找,提升大字段查询性能,需同时校验哈希值和原始值以避免冲突;3. 哈希索…
-
mysql InnoDB的特性



InnoDB支持事务ACID特性、行级锁与MVCC、外键约束及崩溃恢复机制,通过Redo/Undo日志和双写缓冲保障数据一致性与安全性,适用于高并发、强事务性场景,是MySQL首选存储引擎。 MySQL的InnoDB存储引擎是目前最常用的引擎之一,尤其适用于高并发、事务性要求强的应用场景。它具备多项…
-
mysql中undo log的两种类型



Insert Undo Log用于事务回滚,不参与MVCC,事务提交后可立即清除;2. Update Undo Log支持事务回滚和MVCC,保留历史版本直至purge线程清理。 在 MySQL 中,undo log 是用于实现事务回滚和多版本并发控制(MVCC)的重要机制。它记录了数据修改前的旧值…
-
mysql字段选择是什么



合理选择MySQL字段类型和属性可提升存储效率与查询性能:根据数据范围选用整数、浮点或字符串类型,金额用DECIMAL,日期用DATETIME或TIMESTAMP;尽量设NOT NULL并设置默认值,主键推荐自增INT或BIGINT;高频查询字段加索引,外键需建索引且类型匹配;避免过度使用VARCH…
-
mysql加锁规则是什么



答案:MySQL加锁规则受存储引擎、隔离级别和SQL类型影响,InnoDB通过S锁、X锁、意向锁、记录锁、间隙锁和临键锁实现并发控制;加锁基于索引,不同隔离级别下加锁行为不同,RC级别不加间隙锁,RR级别使用临键锁防止幻读,Serializable下SELECT自动加S锁;SELECT默认快照读不加…
-
mysql外键约束有什么要求



外键约束需使用InnoDB引擎,两列数据类型、符号及长度须一致,被引用列必须有索引(如主键或唯一键),父表必须先存在,建议字符集和排序规则相同,并可定义级联等操作行为以维护数据完整性。 MySQL外键约束(FOREIGN KEY)用于确保两个表之间的引用完整性,维护数据的一致性和有效性。要正确使用外…
-
SQL中COUNT函数怎么用_COUNT函数使用方法与实例详解



COUNT函数用于统计行数,包括COUNT(*)统计所有行、COUNT(列名)忽略NULL值、COUNT(DISTINCT 列名)统计唯一非空值,可结合WHERE条件和GROUP BY分组实现多维度计数。 在SQL中,COUNT函数用于统计查询结果中行的数量,是聚合函数中最常用的一个。它可以用来统计…
-
mysql内连接是什么



内连接返回两表中存在匹配记录的数据,语法为SELECT 列名 FROM 表1 INNER JOIN 表2 ON 条件;例如查询学生及其成绩:SELECT students.name, grades.subject, grades.score FROM students INNER JOIN grad…