编程 20 / 627 题
修改丢失(Lost of modify)
是指一个事务读取一个数据时,另外一个数据也访问了该数据,那么在第一个事务修改了这个数据之 后,第二个事务也修改了这个数据。这样第一个事务内的修改结果就被丢失,这种情况就被称为修改丢 失
不可重复读
不可重复读(Unrepeatableread)指在一个事务内多次读取同一数据,在这个事务还没结束时,另外一个事务也访问了这个数据并对这个数据进行了修改,那么就可能造成第一个事务两次读取的数据不一致,这种情况就被称为*不可重复读。
什么是幻读?
幻读(Phantom read)...
隔离级别
隔离级别从低到高,解决不同并发问题:读已提交(RC)原理:通过 MVCC(多版本并发控制)读取最新已提交的快照。性能:并发度高,适合多数业务场景(如电商订单)。可重复读(RR)原理:事务启动时创建数据快照,全程基于此版本读取;通过...
ACID
原子性(Atomicity)事务中的操作要么全部成功,要么全部失败回滚(例如转账:扣款和加款必须同时生效或取消)。实现方式:通过 undo log...
MySQL中的索引的优缺点和类型
索引的优点 可以大大加快数据的检索速度,这也是创建索引的最主要的原因。 通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。索引的缺点 时间方面:创建索引和维护索引要耗费时间,具体地,当对表中的数据进行增加、删除和...
空间索引(R-Tree)
适用场景:地理坐标查询(GIS系统)。核心原理:R-Tree结构分层管理空间范围,快速定位重叠区域-- 需空间数据类型(POINT, GEOMETRY) ALTER TABLE places ADD SPATIAL INDEX...
全文索引
适用场景:文本模糊搜索(MATCH ... AGAINST)。核心原理:倒排索引:分词后建立“词→文档ID”映射。性能优化:替代低效的LIKE '%keyword%',避免全表扫描。-- 需使用 InnoDB/MyISAM 引擎...
哈希索引
适用场景:等值查询(=),内存表(MEMORY引擎)。核心原理:哈希函数将键值映射到桶地址,桶内链表解决哈希冲突。性能特征:O(1)时间复杂度:等值查询极快。局限:不支持范围查询、排序、模糊匹配(LIKE)。CREATE TABLE...
B+Tree索引(默认索引类型)
适用场景:等值查询、范围查询(>/</BETWEEN)、排序(ORDER...
Mysql 常见索引
MySQL中常见的索引类型包括:1、B-Tree索引: 适用于全值匹配、匹配列前缀、匹配范围值、精确匹配和ORDER BY操作。2、哈希索引: 适用于等值查询,但不支持范围查询。3、全文索引:...
mysql索引是什么
索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它 们包含着对数据表里所有记录的引用指针。索引是一种数据结构。数据库索引,是数据库管理系统中一个排序的数据结构,...
使用索引查询一定能提高查询的性能吗? 为什么 ?
索引需要空间来存储,也需要定期维护, 每当有记录在表中增减或索引列被修改时,索引本身也会被修改。 这意味着每条记录的INSERT,DELETE,UPDATE将为此多付出4,5 次的磁盘I/O。...
mysql索引基本原理
索引用来快速地寻找那些具有特定值的记录。如果没有索引,一般来说执行查询时遍历整张表。索引的原理很简单,就是把无序的数据变成有序的查询把创建了索引的列的内容进行排序对排序结果生成倒排表在倒排表内容上拼上数据地址链在查询的时候,先拿到倒排...
Mysql 外键
MySQL外键(Foreign Key)是关系型数据库中用于强制表间数据关联完整性的核心机制外键是一个表(子表)中的字段(或字段组合),它引用另一个表(父表)的主键或唯一键,用于建立两个表的逻辑关联CREATE TABLE...
拼音排序
索引失效CONVERT() 和 COLLATE 会导致排序字段无法使用索引,强制全表扫描(type=ALL)。示例:10 万行数据使用 CONVERT 排序耗时 >1 秒,而索引字段排序仅需毫秒级。字符转换开销UTF-8 转 GBK...
如何优化 ORDER BY RAND()?
SELECT * FROM products WHERE id >= (SELECT FLOOR(RAND() * MAX(id)) FROM products) ORDER BY id LIMIT 1; --...
Mysql order
SELECT * FROM users ORDER BY age DESC; -- 按年龄降序 SELECT * FROM products ORDER BY price ASC, stock DESC; --...
MySQL一张表可以添加多少text字段?
一张表可添加的TEXT字段数量受多重限制影响,包括存储引擎、行格式、行大小限制等理论最大列数 InnoDB引擎:单表最多支持 1017列(系统保留字段占7列,总列数上限为1024)。 MyISAM引擎:理论上限为...
find_in_set函数
FIND_IN_SET(str, strlist) 用于在逗号分隔的字符串列表中查找指定字符串的位置:返回值:找到时返回位置(从1开始),未找到返回 0,参数为 NULL 时返回...