
数据库
shadow_zed
有人问,你为什么这么努力?-----
因为我喜欢的东西很贵,我喜欢的人很优秀
展开
-
MyBatis模糊查询的4种实现方式
1、根据姓名模糊查询员工信息1.1、方式一步骤一:编写配置文件步骤二:测试步骤三:分析此种方式需要在调用处手动的去添加“%”通配符。1.2、方式二说明:使用方式一可以实现模糊查询,但是有一点不方便的地方就是:在测试类中,调用selectList()方法传参时需要调用者手动的添加%号通配符,显然是麻烦的,能否在映射配置文件中直接将%号写好呢?有的朋友可能会这么想,好办,直接在配置文件中这么写:形如1:测试后发现,程序会报错,原因是:缺少单引号。这...转载 2020-08-11 10:32:26 · 9381 阅读 · 9 评论 -
Binary Logging 详解,删库了,我们一定要跑路吗?
在工作中,我们误删数据或者数据库,我们一定需要跑路吗?我看未必,程序员一定要学会自救,神不知鬼不觉的将数据找回。在 mysql 数据库中,我们知道 binlog 日志记录了我们对数据库的所有操作,所以 binlog 日志就是我们自救的利器。接下来就来开启程序员自救之路。想要自救成功,binlog 这把利器一定要好,在自己之前,我们一定要确定我们有 binlog 这把利器,以下就是确保有 binlog 利器的操作。1、确认数据库是否开启 binlog 日志show variables l转载 2020-06-09 15:21:03 · 256 阅读 · 0 评论 -
SQL中应尽量避免在where子句中使用or来连接条件和使用or影响性能的解决办法
近期做了一个存储过程,执行时发现非常的慢,竟然需要6、7秒!经排查,发现时间主要都耗在了其中一段查询语句上。这个语句用于查出结构相同的两个表中,其中两个字段的任一个字段数据相同的记录。例如,A表的结构如下所示:--会员表CREATE Table Member( MemberID int, --会员ID MemberName ...转载 2020-04-17 10:34:58 · 5747 阅读 · 0 评论 -
树形结构的数据库表设计
程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门、栏目结构、商品分类等等,通常而言,这些树状结构需要借助于数据库完成持久化。然而目前的各种基于关系的数据库,都是以二维表的形式记录存储数据信息,因此是不能直接将Tree存入DBMS,设计合适的Schema及其对应的CRUD算法是实现关系型数据库中存储树形结构的关键。 理想中树形结构应该具备如下特征:数据存储冗...转载 2019-09-09 21:42:59 · 2092 阅读 · 2 评论 -
数据库视图的作用和优势
既然视图在实际开发过程当中被广泛使用到,它到底有哪些作用和优势呢?1、使数据简单化:可以将复杂的查询创建成视图,提供给他人使用,他人就不需要去理解其中复杂性的业务关系或逻辑关系。这样对视图的使用人员来说,就简化了数据的,屏蔽了数据的复杂性。2、表结构设计的补充:系统刚刚开始设计时,大部分程序是直接访问表结构的数据的,但是随着业务的变化、系统的更新等,造成了某些表结构的不适用,这时候去修改表...转载 2019-04-27 20:14:41 · 4565 阅读 · 0 评论 -
MySQL的binlog日志详解
原文:https://www.cnblogs.com/martinzhang/p/3454358.htmlbinlog 基本认识 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。 一般来说开启二进制日志大概会有1%的性能损耗(参见...转载 2018-12-20 08:54:50 · 1029 阅读 · 1 评论 -
事务的传播行为与spring事务管理
文章一:我们都知道事务的概念,那么事务的传播特性是什么呢?(此处着重介绍传播特性的概念,关于传播特性的相关配置就不介绍了,可以查看spring的官方文档) 在我们用SSH开发项目的时候,我们一般都是将事务设置在Service层 那么当我们调用Service层的一个方法的时候它能够保证我们的这个方法中执行的所有的对数据库的更新操作保持在一个事务中,在事务层里面调用的这些方法要么全部成功,要么全...转载 2018-11-24 20:12:51 · 167 阅读 · 0 评论 -
使用NOT IN/IN 出现包含NULL值导致查询结果出错的处理
原查询语句:SELECT `DEVICE_NO`,`SYS_NO`,`STATION_NO` ,`DEVICE_NAME`,`DEVICE_TYPE_NO` FROM `dic_device`WHERE `STATION_NO`=8AND `DEVICE_NO` LIKE '%POWER%'AND `DEVICE_TYPE_NO` NOT IN(SELECT `DEVICE_TYP...转载 2018-07-24 21:35:21 · 2467 阅读 · 0 评论 -
乐观锁和悲观锁的区别
悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过...转载 2018-04-15 22:22:51 · 262 阅读 · 0 评论 -
drop、truncate和delete的区别与选择
(1)日志与事务1.delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。2.truncate table则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。(2)表和索引所占空间。当表被truncate后,这...转载 2017-10-16 18:03:12 · 4871 阅读 · 0 评论 -
MySQL 对于千万级的大表要怎么优化
作者:zhuqz链接:https://www.zhihu.com/question/19719997/answer/81930332来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。很多人第一反应是各种切分;我给的顺序是:第一优化你的sql和索引;第二加缓存,memcached,redis;第三以上都做了后,还是慢,就做主从复制或转载 2017-10-16 17:48:33 · 499 阅读 · 0 评论 -
数据库索引的作用以及索引的优缺点
为什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二,可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。第四,在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。第五,通过使用索引,可以在查询的...转载 2017-10-16 17:37:25 · 1180 阅读 · 0 评论 -
图解SQL的Join
原文地址:http://coolshell.cn/articles/3463.html对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚。Coding Horror上有一篇文章(实在不清楚为什么Coding Horror也被墙)通过 文氏图 Ve转载 2017-10-23 10:00:23 · 311 阅读 · 0 评论 -
MySQL时间操作
MySQL> select now();+———————+| now() |+———————+| 2013-04-08 20:56:19 |+———————+除了 now() 函数能获得当前的日期时间外,mysql 中还有下面的函数:current_timestamp(),current_timestamp,localtime(),localtime,l转载 2017-08-26 23:29:05 · 411 阅读 · 0 评论 -
sql语句大全之新增语句ON DELETE和ON UPDATE
新增语句修改数据,除了上面讲述的基本的INSERT,DELETE和UPDATE语句外,SQL 2008还提供了一些新增语句。如ON OUTPUT,ON DELETE以及OUTPUT。下面将要分别对这几个新增语句进行分别具体介绍。6.4.1 ON DELETE和ON UPDATEsql语句大全CREATE TABLE 表达式中的ON DELETE和ON UPDATE子句是另一种管理转载 2017-08-26 23:41:29 · 4585 阅读 · 0 评论 -
mysql中复制表结构与数据的方法小结(5.7版本)
实践所用user表的DDl: CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) NOT NULL, `password` varchar(255) NOT NULL, `state` bit(1) NOT NULL, PRIMARY KEY (`id`...原创 2017-05-12 22:01:42 · 4570 阅读 · 0 评论