
Mysql
文章平均质量分 82
skystep
这个作者很懒,什么都没留下…
展开
-
MySQL 索引的使用和设计
如果进行更新的时候,更新的字段是非索引字段,提升的效率会更明显,这是因为非索引字段更新不需要对索引进行维护。索引就是让数据按照某种顺序进行存储或检索,因此当我们使用 GROUP BY 对数据进行分组查询,或者使用 ORDER BY 对数据进行排序的时候,就需要 对分组或者排序的字段进行索引。这样也可以较少的建立一些索引。需要对某个字段进行去重,使用 DISTINCT,那么对这个字段创建索引,也会提升查询效率。在数据量不大的情况下,索引就发挥不出作用了,但是却消耗了空间和降低增、删、改的效率。原创 2022-09-14 00:47:10 · 303 阅读 · 0 评论 -
MySQL 索引
索引是 帮助MySQL高效获取数据的数据结构。MySQL 数据存储硬盘不是连续存储,记录的存储单位是数据页,每次查询需对数据页的进行读取和加载,免不了 IO 操作,如果遍历全部页,那么意味着进行多次 IO 操作。索引通过实现了一套数据结构,记录了数据页和记录的关系,使得以更少的 IO 次数获取到目标数据页。此外,该数据结构对数据进行了预先排序,满足特定查找算法,可以更快的查询到数据页上的目标记录。因此,索引可以通过减少 IO 操作次数、使用更加快速的查找算法查找到目标记录。原创 2022-09-12 23:07:30 · 753 阅读 · 0 评论 -
MySQL 索引失效
所以尽量让主键具有 AUTO_INCREMENT ,让存储引擎自己为表生成主键,而不是手动插入 ,比如: person_info 表:我们自定义的主键列 id 拥有 AUTO_INCREMENT 属性,在插入记录时存储引擎会自动为我们填入自增的主键值。所以如果想尽量避免这样无谓的性能损耗,最好让插入的记录的主键值依次递增 ,这样就不会发生这样的性能损耗了。虽然建立了索引,但是该索引最左边的是 age,查询语句中不包含 age,根据最左前缀匹配特性,这时候索引失效。8、OR 前后存在非索引的列,索引失效。原创 2022-09-04 23:48:17 · 366 阅读 · 1 评论 -
MySQL 事务
MySQL 事务 保证多个任务执行要不同时成功要不同时回滚。事务支持是在引擎层实现的,Mysql 的默认引擎 InnoDB 是支持事务的,MyISAM 是不支持事务的。 事务特性 ACID 原子性:一个事务包括多个任务,所有的任务要不全成功,要不全部失败回滚,不存在部分成功; 一致性:如果事务成功地完成,那么系统中所有变化将正确地应用,系统处于有效状态;如果在事务中出现错误,那么系统中的所有变化将自动地回滚,系统返回到原始状态; 隔离性:指在并发环境中,并发的事务是相互隔离的,每个事务都有各自完成的数据空原创 2022-08-28 14:00:41 · 322 阅读 · 0 评论