随笔分类 - 数据库
摘要:Mongo常用索引 单索引 复合索引:复合索引必须完全按照建索引的顺序来查 db.events.createIndex( { username: 1, date: -1 } ) #只能利用username: 1的排序 db.events.find().sort( { username: 1, dat
阅读全文
摘要:curl 域名:9200/omg_topic/_search?q=123456 --user elastic:pwd elasticsearch elasticsearch是一个近实时分布式搜索和分析引擎,它用于全文搜索、结构化搜索、分析以及将这三者混合使用,使用java编写,基于Lucene 实
阅读全文
摘要:1.mysql -u root -p net stop mysql 2、net start mysql 2.数据库列创建时间和更新时间自动更新 join_time timestamp NULL DEFAULT current_timestamp(), update_time timestamp NU
阅读全文
摘要:MongoDB 提供多粒度锁 Global (MongoD 实例) – 所有的数据库上加锁 Database – 锁定某个数据库 Collection – 锁定某个集合 Document – 锁定某个文档 MongoDB 提供了四种锁 意向共享锁(IS)表示事务意图在表中的单个行上设置共享锁。 意向
阅读全文
摘要:https://blog.csdn.net/xmh594603296/article/details/82461222
阅读全文
摘要:GROUP BY实际上也同样需要进行排序操作,而且与ORDER BY相比,GROUP BY主要只是多了排序之后的分组操作。 所以在用group by的时候我们尽可能选择索引,这样就可以就可以利用到非主键索引树排好的顺序。避免我们再次进行排序操作 group by 后面如果用索引也要满足最左前缀匹配原
阅读全文
摘要:https://juejin.cn/post/6947984489960177677
阅读全文
摘要:一,什么是数据库存储过程? 存储过程(Stored Procedure)是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。 存储过程(procedure)类似于C语言中的函数。用来执行管理任务或应用复杂的业务规则。
阅读全文
摘要:1.需求:表中的数据可以交换,上移下移动,删除 就是需要给表加一个序号,表示那个顺序,删除和修改就直接做了 关键是交换,可以直接交换两条记录的序号。 最后返回的数据是按照序号从小到大的。 2.数据库中如何设计多级菜单 1对多,多对多,无限菜单 https://blog.csdn.net/lzlawy
阅读全文
摘要:查找最晚入职员工的所有信息: select * from employees where hire_date = (select max(s.hire_date) from employees s); 查找入职员工时间排名倒数第三的员工所有信息: select * from employees or
阅读全文
摘要:日志类型: 错误日志:记录出错信息,也记录一些警告信息或者正确的信息。查询日志:记录所有对数据库请求的信息,不论这些请求是否得到了正确的执行。慢查询日志:设置一个阈值,将运行时间超过该值的所有SQL语句都记录到慢查询的日志文件中。二进制日志:记录对数据库执行更改的所有操作。binlog中继日志:从库
阅读全文
摘要:远程连接数据库采用Tcp协议, 一个web服务器,一个客户端,客户端发出查询到网页的时候,web服务器就会去数据库进行查询。会去找mysqld进程。这种模型只能通过tcp/ip协议来实现。 还有一种情况就是web服务mysql在同一台服务器上,这种场景可以避免使用tcp/ip的网络,使用tcp/ip
阅读全文
摘要:查询: -> 权限校验 (先检查该语句是否有权限,如果没有权限,直接返回错误信息) -> 查询缓存 (如果有权限,在 MySQL8.0 版本以前,会先查询缓存,以这条 sql 语句为 key 在内存中查询是否有结果,如果有直接缓存,如果没有,执行下一步,8.0版本之后缓存被移除了) -> 分析器(通
阅读全文
摘要:红黑树是一种近似平衡的二叉查找树,最长路径长度不超过最短路径长度的2倍: HashMap为什么底层不选用AVL树: AVL树是一棵严格的平衡树,它所有的子树都满足二叉平衡树的定义。因此AVL树高被严格控制在XXX,因此AVL树的查找比较高效。但AVL树插入、删除结点后旋转的次数比红黑树多。 红黑树用
阅读全文
摘要:一条SQL执行很慢? 1.执行的时候遇到行锁,表锁 2.没有建索引,或者建了索引没有用到,需要去分析 怎么判断一个 mysql 中 select 语句是否使用了索引,可以在 select 语句前加上 explain,比如 explain select * from tablename;返回的一列中,
阅读全文
摘要:MyBatis核心组件: SqlSessionFactoryBuilder(构造器): 它可以从XML、注解或者手动配置Java代码来创建SqlSessionFactory。 SqlSessionFactory: 用于创建SqlSession (会话) 的工厂 SqlSession: SqlSess
阅读全文
摘要:分表设计:对于访问极为频繁且数据量巨大的单表来说,我们首先要做的就是减少单表的记录条数,以便减少数据查询所需要的时间,提高数据库的吞吐,这就是所谓的分表! 垂直拆分: 1.当一张表的字段过多时则可以考虑垂直拆分。 2.通常是将一张表的字段才分为主表以及扩展表,使用频次较高的字段在一张表,其余的在一张
阅读全文
摘要:第一范式(1NF): 数据库表中的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。 简而言之,第一范式就是无重复的列。例如,由“职工号”“姓名”“电话号码”组成的表(一个人可能有一部办公电话和一部移动电话),这时将其规范化为1NF可以将电话号
阅读全文
摘要:char和varchar区别: 在MyISAM存储引擎的下面: 1.char是固定长度,varchar长度可变: 存储时,前者不管实际存储数据的长度,直接规定CHAR规定的长度分配存储空间;而后者会根据实际存储的数据分配最终的存储空间。通常情况下,varchar能够节约磁盘空间,为此往往认为其能够提
阅读全文