- 博客(6)
- 收藏
- 关注
原创 MySQL知识(事务与锁)(二)
简单的说,幻读指当用户读取某一范围的数据行时,另一个事务又在该范围内插入了新行,当用户再读取该范围的数据行时,会发现有新的“幻影” 行。因为在InnoDB存储引擎中,主键索引是作为聚簇索引存在的,也就是说, 主键索引的B+树叶子节点上存储了主键索引以及全部的数据(按照顺序), 如果主键索引是自增ID,那么只需要不断向后排列即可,如果是UUID, 由于到来的ID与原来的大小不确定,会造成非常多的数据插入,数据移动,然后导致产生很多的内存碎片,进而造成插入性能的下降。及一个事务的执行不可以被其他事务干扰。
2024-05-25 15:12:59 638
原创 MySQL高频(存储引擎与索引优化)(一)
索引通过缓存池的 B+ 树页构造而来,因此建立速度很快,InnoDB 存储引擎会监控对表上各个索引页的查询,如果观察到建立哈希索引可以带来速度上的提升,则建立哈希索引,所以叫做自适应哈希索引。Hash是一种非常高效的索引类型,它将索引值与一组固定大小的桶相对应,并且能够快速准确地确定所搜索的记录位置,它将记录散列分散到不同的桶中,通过一个hash函数的计算可以得到对应桶的编号,然后直接查询该桶即可,而不需要遍历整个索引。而 B+ 树的查询效率比较稳定,对于所有的查询都是从根节点到叶子节点,且树的高度较低。
2024-05-25 14:34:36 592
原创 Redis 高难专项
Redis 哈希hash是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。哈希命令命令 描述HDEL key field2 [field2] 删除一个或多个hash字段。HEXISTS key field 确定hash字段是否存在。HGET key field 获取存储在指定键处的hash字段的值。
2024-05-25 14:04:38 847
原创 PHP基础知识(面试题+复习)
(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数。有效的时间戳典型范围是格林威治时间 1901 年 12 月 13 日 20:45:54 到 2038 年 1 月 19 日 03:14:07。(此范围符合32 位有符号整数的最小值和最大值)。不过在 PHP 5.1 之前此范围在某些系统(如 Windows)中限制为从 1970 年 1 月 1 日到 2038 年 1 月 19 日。
2024-05-25 11:02:16 764
原创 编程基础知识
ORM,即Object-RelationlMapping,它的作用是在关系型数据库和对象之间作一个映射,这样,我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了。下面是在网上转载的一段文章中对它的描述:让我们从O/R开始。字母O起源于"对象"(Object),而R则来自于"关系"(Relational)。几乎所有的程序里面,都存在对象和关系数据库。在业务逻辑层和用户界面层中,我们是面向对象的。
2024-05-25 10:30:17 931
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人