随笔分类 -  Mysql

摘要:SQL 标准定义了四种隔离级别,MySQL 全都支持。这四种隔离级别分别是: 读未提交(READ UNCOMMITTED) 读提交 (READ COMMITTED) 可重复读 (REPEATABLE READ) 串行化 (SERIALIZABLE) MySQL InnoDB 引擎才支持事务,MyIS 阅读全文
posted @ 2021-07-13 13:35 kaleidoscopic 编辑
摘要:主从复制的作用 1、做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。 2、架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能。 3、读写分离,使数据库能支撑更大的并发。在报表中 阅读全文
posted @ 2018-10-30 17:40 kaleidoscopic 阅读(159) 评论(0) 推荐(0) 编辑
摘要:什么是间隙锁当我们用范围条件而不是相等条件检索数据,并请求共享或排他锁时,InnoDB会给符合条件的已有数据记录的索引项加锁;对于键值在条件范围内但不存在的记录,叫做“间隙(GAP)”,InnoDB也会对这个“间隙”加锁,这种锁机制就是所谓的间隙锁(NEXT-KEY)锁。危害因为Query执行过程中 阅读全文
posted @ 2018-10-30 17:17 kaleidoscopic 阅读(697) 评论(0) 推荐(0) 编辑
摘要:Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。 可能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大 阅读全文
posted @ 2018-10-30 16:23 kaleidoscopic 阅读(297) 评论(0) 推荐(0) 编辑
摘要:SQL好久不写了,有些生疏了,一个分组排序问题想了快半天,整理下。 学生表 班级表 问题:查询出每个班级前三名的信息? 首先,如何查询每个班级前三名的SQL呢? 完整SQL如下 阅读全文
posted @ 2018-10-19 15:37 kaleidoscopic 阅读(502) 评论(0) 推荐(0) 编辑
摘要:数据类型的优化 MySQL数据类型 优化策略 索引优化 索引类型 高性能索引策略 查询优化 优化数据访问 从好到坏的where条件应用 重构查询 一、数据类型的优化 (1)MySQL数据类型 整数类型: TinyInt,存储空间8, 字节长度1; SmallInt, 存储空间16, 字节长度2; M 阅读全文
posted @ 2018-10-17 14:40 kaleidoscopic 阅读(1436) 评论(0) 推荐(0) 编辑
摘要:MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展下,MySQL也导入了InnoDB( 阅读全文
posted @ 2018-10-15 15:08 kaleidoscopic 阅读(1833) 评论(0) 推荐(0) 编辑
摘要:本文实例讲述了MySQL常用存储引擎功能与用法。 MySQL存储引擎主要有两大类: 1. 事务安全表:InnoDB、BDB。 2. 非事务安全表:MyISAM、MEMORY、MERGE、EXAMPLE、NDB Cluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED等。 MyS 阅读全文
posted @ 2018-09-21 19:19 kaleidoscopic 阅读(742) 评论(0) 推荐(0) 编辑
摘要:在参与实际项目中,当 MySQL 表的数据量达到百万级时,普通的 SQL 查询效率呈直线下降,而且如果 where 中的查询条件较多时,其查询速度无法容忍。想想可知,假如我们查询淘宝的一个订单详情,如果查询时间高达几十秒,这么高的查询延时,任何用户都会抓狂。因此如何提高 SQL 语句查询效率,显得十 阅读全文
posted @ 2018-09-14 16:27 kaleidoscopic 阅读(435) 评论(0) 推荐(0) 编辑
摘要:一、并发控制 为啥要进行并发控制? 并发的任务对同一个临界资源进行操作,如果不采取措施,可能导致不一致,故必须进行并发控制(Concurrency Control)。 技术上,通常如何进行并发控制? 通过并发控制保证数据一致性的常见手段有: 锁(Locking) 数据多版本(Multi Versio 阅读全文
posted @ 2018-08-23 19:53 kaleidoscopic 阅读(176) 评论(0) 推荐(0) 编辑
摘要:MySQL的InnoDB的细粒度行锁,是它最吸引人的特性之一。 但是,如《InnoDB,5项最佳实践》所述,如果查询没有命中索引,也将退化为表锁。 InnoDB的细粒度锁,是实现在索引记录上的。 一,InnoDB的索引 InnoDB的索引有两类索引,聚集索引(Clustered Index)与普通索 阅读全文
posted @ 2018-08-23 19:40 kaleidoscopic 阅读(196) 评论(0) 推荐(0) 编辑
摘要:B-树由来 定义:B-树是一类树,包括B-树、B+树、B*树等,是一棵自平衡的搜索树,它类似普通的平衡二叉树,不同的一点是B-树允许每个节点有更多的子节点。B-树是专门为外部存储器设计的,如磁盘,它对于读取和写入大块数据有良好的性能,所以一般被用在文件系统及数据库中。 先来看看为什么会出现B-树这类 阅读全文
posted @ 2018-08-15 16:02 kaleidoscopic 阅读(10137) 评论(5) 推荐(2) 编辑

点击右上角即可分享
微信分享提示