数据结构与算法

C++ Vector算法精讲与底层探秘:从经典例题到性能优化全解析

前引:在C++标准模板库(STL)中,vector作为动态数组的实现,既是算法题解的基石,也是性能优化的关键战场。其连续内存布局、动态扩容机制和丰富的成员函数,使其在面试高频题(如LeetCode、洛谷)中频繁登场。本文聚焦​​六大经典算法场景​​&#xff

【算法】【优选算法】模拟

目录 一、模拟简介 二、1576.替换所有的问号 三、495.提莫攻击 四、6.N字形变换 五、38.外观数列 六、1419.数⻘蛙 一、模拟简介模拟就是依葫芦画瓢,题目会将如何做给出来,直接做出来就行。做题过程: 先模拟算法流程, 再将流程转化为代码。 二、1576.替换所有的问号题目链接:1576.替换所

MySql数据库分布式存储·基础概念

一、相关概念: 为了解决存储压力,MySql可以实现分布式存储,通过不同的算法将数据存储到不同服务器中,以达到分散单台服务器负载的效果 分库分割方式: 垂直分割(分库) 按业务类型分类,将存储在一个库里的表分别存储到不同的数据库器里 水平分割(分表) 将表记录按行切分,分散存储到多个数据库服务器表中。 二、常用分库分表软件 MyCat 三、十种分片规则: 枚举法 sharding-by-

Orabbix 监控 oracle数据库

一、监控Oracle的用户连接数 sql语句 连接数大于5的 select b.USERNAME||'->'||b.MACHINE||'->'||count(*) as connect_nums from v$process a, v$session b where a.ADDR = b.PADDR and b.USERNAME is not null group by b.USERN

SQL SERVER聚集索引

一、聚集索引 1、数据存储在数据页中   表的数据是存储在数据页中(数据页的PageType标记为1),SqlServer一页是8k,存满一页就开辟下一页存储。   如果表有聚集索引,那么一笔一笔物理数据就是按聚集索引字段的大小升/降排序存储在页中。当对聚集索引字段更新或中间插入/删除数据时,都会导致表数据移动(造成性能一定影响),因为它要保持升/降排序。   注意,主键只是默认是聚集索引,它

Django haystack + whoosh + jieba 全文搜索

简介 业务场景 搜索栏输入塑料玩具时,希望优先搜索出 名称 或 简介 中带有 塑料玩具 的条目, 并同时匹配出 塑料 、玩具、玩具塑料、塑料玩巨等信息,按照匹配度排序,且支持匹配英文大小写。 技术选型 Django自带的模糊匹配 icontains 表示 Mysql的 like,不满足业务分词需求,且随着数据量增大,消耗的资源和时间都会线性增长,因此考虑使用专门的搜索框架 haystack 搜索

SQL注入专题(二)

不同位置的注入 1、get注入:注入字段到URL参数中 2、post注入:注入字段在PAST提交的数据中 3、cookie注入:注入字段在cookie数据中,网站使用通用的防注入程序,会对get、post提交的数据进行过滤,缺往往遗漏对cookie中的数据进行过滤。 4、其他注入:http请求的其他内容出发的SQL注入漏洞,如user-agent、referer、x-forwarded-for(x

发布订阅 - 确保用户注册成功发送短信通知

Spring事务监听机制—使用@TransactionalEventListener处理数据库事务提交成功后再执行操作 为什么使用     在项目中,往往需要执行数据库操作后,发送消息或事件来异步调** * 用其他组件执行相应的操作,例如:   用户注册后发送激活码;   配置修改后发送更新事件等。   但是,数据库的操作如果还未完成,此时异步调用的方法查询数据库发现没有数据,这就会出现问题。

一文读懂 MySQL Explain 执行计划

一、前言 上周老周的一个好朋友让我出一篇教你读懂 SQL 执行计划,和我另一位读者反馈的面试题如何排查慢 SQL 的强相关,索性先出一篇一文读懂 MySQL Explain 执行计划。Explain 执行计划你一定得会看,不然你简历上就别去写什么你会 SQL 调优,不然面试官会觉得,Explain 执行计划你都不会看,那你还 SQL 调啥优啊?SQL 调你吧???开个小玩笑,玩笑归玩笑,重要是真的