- 博客(8)
- 收藏
- 关注
原创 MySQL索引下推官网详解
也就是说,如果不使用索引下推技术,MySQL会先读取完整的数据内容到server端之后再判断,因为无法在引擎层进行范围判断,运用该技术后,便可以通过存有的索引对字段进行方便的排列与范围筛选。没有 ICP 时,存储引擎遍历索引以定位基本表中的行,并将它们返回给 MySQL 服务器,服务器评估行的。条件下推到存储引擎。然后,存储引擎使用索引条目评估下推的索引条件,只有当满足此条件时,才会从表中读取行。索引下推用于减少具有二级索引筛选条件的sql语句,这样就不会将所有符合部分条件的语句载入缓冲区,降低IO。
2025-02-22 15:15:15
226
原创 MySQL学习随笔
2、树的高度增长慢:B+树是多叉树,非叶子节点只存储索引所用的键值与指针,使得每一页能存储更多记录,减少读取磁盘的IO次数。1、查找性能高:B+树是自平衡树,每个叶子节点的深度都一致,且通常小于平衡二叉树与红黑树,使得查找的速度更快。在MySQL命令行中,使用show engines可以看到当前都有哪些引擎被支持。3、B+树的叶节点通过链表链接,所以便于进行范围查询与排序。使用思维导图对其中几个重点引擎进行了简单总结。
2025-02-22 14:59:07
100
原创 LeetCode刷题思路与模板总结
当要记录的键为范围较大的数字时,如果仍然采用数组,会造成较大的空间浪费,而set与map不会提前开辟所有可能键的空间,如果不需要记录每个键对应的值,只看是否重复,则采用set。注意边界条件的选择,常选用左闭右闭或者左闭右开,采用左闭右闭即[left,right]时,注意循环判断中采用<=;采用左闭右开时,注意循环判断中采用<。对于需要遍历所有节点的链表,可以添加一个虚拟头节点,使得头节点的便利不再特殊,简化代码。采用理由类似set,区别在于map需要记录的是键值对,当要保存键对应的元素时采用。
2025-02-18 10:33:56
635
原创 LeetCode438找到字符串中所有异位词
经典的使用128数组来帮助存储char相关的数据信息,使用滑动窗口检测动态增删字符,随后对比数组是否相等,即可得知。
2024-04-25 15:30:05
374
1
原创 LeetCode128最长连续序列
经典的使用HashMap,键为数字,值为该数字对应的最大count,但是耗时较长。题中要求为O(n),但是最优的算法居然用了sort,很抽象。AI评价我的时间复杂度为O(n),也算赢了吧(
2024-04-22 11:39:29
315
原创 LeetCode49字母异位词分组
运用map来加快搜索,键设置为排序过的字符串,值设置为该类字符串在list中的下标号,使用map.size()来快速完成下标递增。如果要优化的话,就在map存储的键中字符串的对比,每个都采用重新sort并组合的效率过低,可以另设一函数来进行对比。
2024-04-21 22:05:03
478
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人