数据库相关
文章平均质量分 67
一包大豫竹
做好每一件小事
展开
-
MySQL5.7之前的版本不支持Rank函数,自实现Rank高级排名函数
MySQL低版本中没有Rank排名函数,尽管如此,使用基础而简单的查询语句,我们也可以达到Rank函数一样的高级排名效果。原创 2024-04-07 17:09:29 · 730 阅读 · 0 评论 -
不使用union实现Mysql 列转行
实现思路:列转行主要核心就是一条数据转多条,如果不多次查询,又想实现列转行,就需要先对数据按照我们的查询需求进行条数扩充;同时为了保证扩充结果可以满足我们后续提取数据的需要,所以扩充的同时需要往数据中填充字段名用于字段提取。...原创 2022-06-23 16:10:13 · 848 阅读 · 1 评论 -
记Oracle regexp_substr 一拆多查询缓慢sql优化
#记Oracle regexp_substr优化需求简化描述:A a=1B b=1;2;3新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;全新的 KaTeX数学公式 语法;增加了支持甘特原创 2021-04-15 16:52:08 · 4194 阅读 · 15 评论 -
Mysql上线长时间以后重新发起请求报错
mysql机制及错误原因:当连接闲置超过八小时后,mysql会自动断开连接,此时连接失效,但是数据库认为此时连接依然有效,连接的时候发现失效,报错。解决办法:增加对连接池中连接的测试/验证,防止数据库认为连接已死而Web应用服务器认为连接还有效添加参数:testOnBorrow:检测池里连接的可用性 设置为true是会见降低性能validationQuery:验证数据库连接的查询语句te...原创 2018-12-24 16:07:10 · 342 阅读 · 0 评论 -
Mysql分库分表方案
偶然看到的好文转自https://www.cnblogs.com/sunny3096/p/8595058.html 一、Mysql分库分表方案1.为什么要分表:当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。mysql中有一种机制是表锁定和行锁定,是为了保证数据的完整性。表锁定表...转载 2018-12-03 14:06:36 · 247 阅读 · 0 评论 -
SQL中实用的小技巧
以下均针对oracle数据库,与mysql、sqlserver或有出入,欢迎共同交流1、查找符合条件的记录数,查不到时显示为0而不是返回nullselect case count(id) when 0 then 0 else count(id) from 表名 where xx=xx2、查询符合某件数字字段 所占整体的百分比 并保留两位小数例:11.11%select CONCAT(...原创 2018-10-23 17:07:27 · 196 阅读 · 0 评论 -
数据库原理之------事务隔离级别
在介绍数据库提供的各种隔离级别之前,我们先看看如果不考虑事务的隔离性,会发生的几种问题:更新丢失:两事务同时更新,一个失败回滚覆盖另一个事务的更新。脏读:事务T1读取到事务T2修改了但是还未提交的数据,之后事务T2又回滚其更新操作,导致事务T1读到的是脏数据。不可重复读:事务T1读取某个数据后,事务T2对其做了修改,当事务T1再次读该数据时得到与前一次不同的值。虚读...原创 2018-03-28 11:36:00 · 173 阅读 · 0 评论 -
数据库原理之------事务四大特性
本篇讲诉数据库中事务的四大特性(ACID) 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。⑵ 一致性(Consistency) 一致性是指事务必须使数据库从一个一致性状态...原创 2018-03-28 11:24:21 · 900 阅读 · 0 评论 -
sql优化面试总结
1、选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其...原创 2018-04-02 11:42:24 · 18586 阅读 · 2 评论 -
drop、delete、truncate比较
区别:delete和truncate只删除表的数据不删除表的结构delete和truncate只删除表的数据不删除表的结构速度,一般来说: drop> truncate >delete delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发. truncate,drop是ddl, 操...原创 2018-04-02 10:36:41 · 339 阅读 · 0 评论 -
数据库索引(精)
一、引言对数据库索引的关注从未淡出我的们的讨论,那么数据库索引是什么样的?聚集索引与非聚集索引有什么不同? 二、B-Tree我们常见的数据库系统,其索引使用的数据结构多是B-Tree或者B+Tree。例如,MsSql使用的是B+Tree,Oracle及Sysbase使用的是B-Tree。所以在最开始,简单地介绍一下B...转载 2018-04-02 10:22:57 · 132 阅读 · 0 评论 -
sql中having和where的区别
“Where” 是一个约束声明,使用Where来约束来之数据库的数据,Where是在结果返回之前起作用的,且Where中不能使用聚合函数。“Having”是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作,在Having中可以使用聚合函数。 在说区别之前,得先介绍GROUP BY这个子句,而在说GROUP子句前,又得先说说“聚合函数”——SQ转载 2017-09-23 17:24:50 · 334 阅读 · 0 评论 -
常用sql查询语句
# --1.学生表# Student(S#,Sname,Sage,Ssex) --## --2.课程表# Course(C#,Cname,T#) --## --3.教师表# Teacher(T#,Tname) --## --4.成绩表# SC(S#,C#,score) --# 完成下列查询需求:#查询"01"课程比"02"课程成绩高的学生的信息及课程转载 2017-09-26 22:49:25 · 393 阅读 · 0 评论 -
Java中使用JDBC连接SQLserver
这个前两天用到了一次,类似于mysql,只是用到的驱动有别,见代码:import com.david.models.Person;import java.sql.*;import java.util.ArrayList;import java.util.List;public class PersonDBUtil { private static final String SQLSERV原创 2017-11-22 11:12:26 · 242 阅读 · 0 评论