数据结构与算法

where 1=1 是什么意思???

where 1=1 先来看一段代码 <select id="queryBookInfo" parameterType="com.ths.platform.entity.BookInfo" resultType="java.lang.Integer"> select count(id) from t_book t where 1=1 <if test="tit

必学算法——贪心

目录 前言 一、什么是贪心算法 二、算法原理 三、贪心算法的基本步骤 四、贪心算法的特点 五、优缺点分析 六、适用条件 七、经典应用 七、实例分析 八、经典例题 1.翻硬币 代码题解 2.一键三连 代码题解 3.分开元音字母 九、结语 前言贪心算法是必须掌握的一种基础算法,在一些比较出名的竞赛acm、蓝桥杯,并且在

MySQL 应用简单说明

1. 文档说明 这里的文档说的是官方的文档,可以在 中找到(以mysql5.7为例) 可以点击右方的按钮进行选择下载相应的文档文件。 2. CentOS7安装MySQL 这里指完全按照上面的文档说明进行安装的方式。 (注:下面的指令都默认使用root账号操作,如果非root 账号,请在前面加上sudo) 下载 相关的 r

sql优化的N种方法

1.SQL语句中IN包含的值不应过多: 例如:select id from t where num in(1,2,3) 对于连续的数值,能用between就不要用in了; 实测速度差距不是很大. image.png 2.SELECT语句务必指明字段名称: 禁止用 * 来查询 ,禁止用 * 来查询 ,禁止用 * 来查询 , 查找哪个字段,就写具体的字段. select * from

21个MySQL表设计的经验准则

1.命名规范 数据库表名、字段名、索引名等都需要命名规范,可读性高(一般要求用英文),让别人一看命名,就知道这个字段表示什么意思。 比如一个表的账号字段,反例如下: acc_no,1_acc_no,zhanghao 正例: account_no,account_number 表名、字段名必须使用小写字母或者数字,禁止使用数字开头,禁止使用拼音,并且一般不使用英文缩写。 主键索引名为pk_字段

MySQL 查询优化(十):冷门知识—— MySQL自定义变量

MySQL 是可以自定义临时变量的,而临时变量在做查询优化和静态查询分析时十分有用。而实际上很少有人记得 MySQL 的自定义变量。本篇文章讲述 MySQL 的自定义变量的概念及特点。 MySQL 的自定义 就是存储值的临时容器,只要与服务端的连接是活跃的,容器中的值可以保存和使用。可以通过简单的 SET 或 SELECT语句 设置自定义变量,如下所示: SET @one := 1; SET

mybaits-plus优雅的实现数据权限

前言 项目使用mybaits-plus,所以在mybaits-plus的基础上增加数据权限的过滤 mybaits-plus自带数据权限支持,但由于系统数据权限相对复杂,通过查看文档发现好像并不适用,且原项目版本低,所以最终还是通过自己的方式实现 数据范围 我们系统相对复杂,比如可以按机构/用户等多种维度过滤,并且可以指定全局和某个特定接口的过滤方式 其实数据范围过滤落地也不过是:数据表的某字段限制

MySql普通索引的管理

一、普通索引的使用规则: 一个表中可以有多个index 字段的值可以重复,且可以赋值为null 通常在where条件中的字段上配置Index index索引字段的标志为MUL 二、普通索引的语法结构: 添加索引(新表) CREATE TABLE 库.表( 字段列表 , INDEX(字段名) , INDEX(字段名) ); 添加索引(旧表) CREATE INDEX 索引名 ON 库.

【java-数据结构】七大排序 “华山论剑”:谁才是时间复杂度的王者?,从初学者到高手必备技巧。

我的个人主页 我的专栏: 人工智能领域、java-数据结构、Javase、C语言,希望能帮助到大家!!! 点赞👍收藏❤ 一、引言在计算机编程的世界里,排序算法是基础且至关重要的一部分。不同的排序算法在时间复杂度、空间复杂度和稳定性等方面各有优劣。本文将详细介绍七种常见的排序

我爱学算法之—— 前缀和(中)

一、724. 寻找数组的中心下标 题目解析 这道题,给定数组nums,要求我们找出这个数组的中心下标。 **中心下标:**指左侧所有元素的和等于右侧所有元素的和。 如果存在多个中心数组下标,就返回最左侧的中心数组下标。 算法思路暴力解法: 对于这道题,要找出数组的中心下标,暴