数据库
文章平均质量分 86
怪熊
这个作者很懒,什么都没留下…
展开
-
query_rewrite 插件的使用,临时处理线上问题
一 背景线上出现慢查询sql,而此时你又不能发布新的版本,此时可用MySQL 5.7提供的query_rewrite 插件(可以把输入的一种语句改写成另外一种模式)来临时解决问题。比如出现慢查询的sql如下(id为主键):select * from t where id + 1 = 10000;我都知道在字段上做运算,会让MySQL不走索引。此时我们的目标是把这条sql改成:...原创 2020-01-14 13:49:26 · 529 阅读 · 0 评论 -
事务隔离的实现与长事务
目录事务隔离的实现长事务事务的启动方式如何避免长事务对业务的影响?首先,从应用开发端来看:其次,从数据库端来看:事务隔离的实现这里我们展开说明“可重复读”。在 MySQL 中,实际上每条记录在更新的时候都会同时记录一条回滚操作。记录上的最新值,通过回滚操作,都可以得到前一个状态的值。假设一个值从 1 被按顺序改成了 2、3、4,在回滚日志里面就会有类似下面的...原创 2020-01-09 00:03:32 · 152 阅读 · 0 评论 -
mysql中drop、truncate、delete的区别
一.dropDROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... [RESTRICT | CASCADE]如:drop table t_order;会删除表的定义、所有表数据、所有触发器,但它不会删除你为该表设置的权限(需手动删除)。它是DDL语句会隐式提交事务。具体可以看官网:https://......原创 2020-01-07 12:48:29 · 701 阅读 · 0 评论 -
面试题:Mysql数据库对varchar类型字段用int进行查询问题
表数据是这样:CREATE TABLE `t_test` ( `id` int(11) NOT NULL, `no` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_c...原创 2020-01-02 21:56:41 · 2911 阅读 · 1 评论 -
oracle(六)-数据库对象
0.概览 对象 英文名 描述 表 table 由行和列组成,用于存储数据 视图 view 从表中抽出的逻辑上相关的数据集合 序列 sequence 提供有规律的数值,主要用于提供主键值,一般用于insert时 索引 index 提高查询效率 同义词 synonym...原创 2019-04-20 00:33:03 · 163 阅读 · 0 评论 -
oracle(五)-DDL创建和管理表
目录1.创建表:2.行地址 rowid3.修改表:追加新列,修改列,删除列,重命名列,重命名表5.删除表6.Oracle的回收站7.闪回删除8.显示所有表9.显示表结构1.创建表:正常创建表:create table test3 (tid number, tname varchar2(20...原创 2019-04-20 00:31:26 · 115 阅读 · 0 评论 -
oracle(四)-order by 排序分页重复解决
问题描述:oracle数据库orderby排序不唯一,会导致最终的数据排序是不是稳定的,表现出来的结果,就是分页时会重复显示;症状如下:第2页和第3页有重复的数据。有问题的sql:select * from ( select u.user_id user_id, u.user_name use...原创 2019-04-20 00:30:13 · 1257 阅读 · 0 评论 -
oracle(三)-分页排序
目录排序分页sql不排序只分页sql:总结oracle的分页不像Mysql有limit可以分页,oracle的分页需要用到oracle自带的rownum伪列进行分页。在没有排序没分页的情况下:select user_id,user_name,rownumfrom sec_users;结果如下:但如果加上了排序如根据user_id进行排序之后,rownum就会被...原创 2019-04-20 00:28:00 · 3967 阅读 · 0 评论 -
oracle(二)-null总结
空值定义:空值是无效的,未指定的,未知的或不可预知的值,空值不是空格或0。1.包含空值的数学表达式的值都为空值。如:selectname,12*sal+commfromemp; 其中comm为奖金,可能为null,导致整个表达式为空解决方案:用NVL函数:selectname,12*sal+NVL(comm,0) fromemp; --当为n...原创 2019-04-20 00:25:36 · 226 阅读 · 0 评论 -
oracle(一)-常用sql和注意点
1.字符串连接1.字符串连接用||或者用concate,但concate一次只能连接一个SELECT name||':'||age FROM "A_TEST" 结果:张三:18concate写法:group_name likeconcat(concat('%', :organName), '%')2.日期相关的函数:--查询当前时间selectsysdatef...原创 2019-04-20 00:24:18 · 271 阅读 · 0 评论 -
Spring-Data-JPA 方便数据库移植
综述: 由于我们自己的开发和测试环境用的是MySQL数据库,而交付方不明确用的是MySQL还是Oracle,所以在持久层的选型上我们选用了Spring-Data-JPA,因为JPA移植性比较好,不用关心用什么数据库,而mybatis自由写sql语句,所以当项目移植的时候还需要改sql。但这里有一个注意点,就是写sql的时候不能在写native sql了.举个栗子:正常写的...原创 2018-12-26 11:45:14 · 496 阅读 · 0 评论