数据库
DachuanDachuan
缘于对卓越的不懈追求,我们才会登上新的高度。在一次次腾飞、跨越与攀登中,我们寻求新的目标、新的挑战、新的朋友。放眼于未来、开拓于世界,我们将为自己的明天做好充实的奠基。
展开
-
ES-多条件搜索
ES 多条件搜索原创 2022-10-31 10:25:00 · 249 阅读 · 1 评论 -
B+tree 是如何降低IO的?
首先数据查询是经过两步的:第一:将索引页加载到缓存中,然后从缓存中找到数据页;第二:将数据页数据加载到缓存,然后将数据返回出去.首先是索引降低了IO次数,为什么这么说?原因:按B树和B+树来说, B+树的索引页中全部是都是索引,这样一个数据页中能查询到很多索引降低了下一次去磁盘再拿索引页的可能性, 这样就降低了磁盘的IO了.第二: B树在非叶子节点存储数据了,这样我一个索引页上上有数据有索引,肯定效率低了. 这个B树就是一个多叉树而已了,以上就是B+ 树的索引[我之前...原创 2020-07-24 12:08:51 · 5752 阅读 · 4 评论 -
Mysql用户授权基本操作
连接数据库:用哪个是数据库: user mysql;给用户授权, 这个要在mysql数据库中才可以; 接下来是最重要的步骤了:创建用户;给用户授权;--本地访问 用户名后面跟着 "localhost"--远程访问 用户名后面跟着 "%" 这个很重要;create user '用户名'@'%' IDENTIFIED by '密码'GRANT ALL PRIVILEGES ON '数据库'.* TO '用户名'@'localhost' IDENTIFIE...原创 2020-07-09 20:58:52 · 289 阅读 · 0 评论 -
MySQL事务ID分配时机问题
在快照读的时候, 有三个隐藏列: row_id trx_id undo_log 指针, 还有delete_flag快照读是通过trx_id 和时间来确定读取哪条undo_log, 这个时间就存在下边的表中 select * from information_schema.INNODB_TRX;也可以通过这个监控 事务ID生成的时间及先后顺序....原创 2020-06-21 06:52:53 · 1760 阅读 · 1 评论 -
mysql的sql执行计划详解(非常有用)
引言:实际项目开发中,由于我们不知道实际查询的时候数据库里发生了什么事情,数据库软件是怎样扫描表、怎样使用索引的,因此,我们能感知到的就只有sql语句运行的时间,在数据规模不大时,查询是瞬间的,因此,在写sql语句的时候就很少考虑到性能的问题。但是当数据规模增大,如千万、亿的时候,我们运行同样的sql语句时却发现迟迟没有结果,这个时候才知道数据规模已经限制了我们查询的速度。所以,查询优...转载 2019-02-25 10:11:46 · 137 阅读 · 0 评论 -
存储过程 批量创建同义词
批量创建同义词,SQL语句比较简单create or replace procedure test is cursor T is SELECT 'create or replace synonym ' || a.OBJECT_NAME || ' for ' || a.OWNER || '.' || a.OBJECT_NAME row_i, ...原创 2019-02-25 11:57:45 · 739 阅读 · 0 评论 -
sql的语句执行过程
数据库服务端是 如何解析SQL语句的?第一:先查询高速缓存,看有没有数据存在,就是之前已经查询的数据,若有就立马返回,这就可以解释:为什么第一次查询很慢,第二次查询就特别快的原因了;第二 : 语句合法性解析 第三: 语言含义解析: 第四: 获得锁: 保证数据的一致性; 第五:数据访问权限核对,若数据库权限不足是不能访问数据的; 第六:确定最佳执行计划,这...转载 2019-02-25 13:18:34 · 324 阅读 · 0 评论 -
要提高SQL查询效率where语句条件的先后次序应如何写
要提高SQL查询效率where语句条件的先后次序应如何写:引用文献:https://blog.csdn.net/sforiz/article/details/5345359转载 2019-03-01 08:43:31 · 1423 阅读 · 0 评论 -
2018整理最全的50道Redis面试题!
2018整理最全的50道Redis面试题!连接地址:https://blog.csdn.net/u010682330/article/details/81043419转载 2019-03-02 09:41:04 · 1464 阅读 · 0 评论 -
MySQL/Oracle数据库优化总结(非常全面)
转载地址:面试+工作都可使用,可以当做工具书了https://blog.csdn.net/baidu_37107022/article/details/77460464转载 2019-03-08 16:58:47 · 172 阅读 · 0 评论 -
mysql中utf8_bin、utf8_general_ci、utf8_general_cs编码区别
在mysql中存在着各种utf8编码格式,如下:1)utf8_bin2)utf8_general_ci3)utf8_general_csutf8_bin将字符串中的每一个字符用二进制数据存储,区分大小写。utf8_genera_ci不区分大小写,ci为case insensitive的缩写,即大小写不敏感。utf8_general_cs区分大小写,cs为case sensi...原创 2019-04-01 17:34:23 · 346 阅读 · 0 评论 -
SQL 语句的执行顺序:
SQL 语句的执行顺序: 链接地址:https://www.cnblogs.com/huminxxl/p/3149097.html转载 2019-02-24 21:09:20 · 778 阅读 · 0 评论 -
Oracle 导出空表问题解决
Oracle 空表无法导出的原因 ORACLE 11G在用EXPORT导出时,空表不能导出,原因是oracle 11g 增加了一个新特性,就是表中没有数据的时候,此时是不给表分配segment 以节省空间, oracle 在11g 之后增加了一个参数deferred_segment_creation ,默认为true; 当修改为false 的时候就能解决问题了alter syst...原创 2019-01-17 09:48:03 · 649 阅读 · 0 评论 -
Oracle 编译存储过程报错: 表或视图不存在问题分析与解决
今天遇到一个问题,自己写了一个很简单的存储过程,编译的时候,报错: 表或视图不存在; 但是:表确实是存在,单独拿出来查询,一点问题也没有。 经过几番查找,找到了问题所在: 查询表的权限不够;解决方案: --user 就是当前用户 grant select any table to user 问题成功解决。记录,分享。...原创 2018-09-27 18:49:54 · 7475 阅读 · 1 评论 -
Oracle 递归查询:start with
什么时候用到start with ? (1) 一张表中存放有目录树的相关数据(子类id , 父类id ) (2)但是想展示为父子类型的数据给前台,或者列表(table)中, (3) 这个时候就可以考虑使用start with 了 如何使用 --demo 附上,拷贝就能使用;--创建表create table demo2 (id_1 varchar2(10...原创 2018-11-02 09:40:59 · 219 阅读 · 0 评论 -
Mybatis 是如何防止SQL注入的?
面试中经常会问到: Mybatis 是如何防止注入的? 首先:SQL是怎样的注入攻击的?String sql = String.Format( "SELECT * FROM tablename WHERE username='{0}'", username); 当用户和密码验证的时候,会写 user="2222" &pass="123456" 然后后台将参数...原创 2018-10-31 15:23:27 · 1429 阅读 · 4 评论 -
Oracle 存储过程小结 游标 ,随机生成UUID(32位)
业务需求: 今天领导要求后天批量插入修改数据,将A表中的数据一条条的插入到B表中,中间还夹杂这业务逻辑。 技术需求: 若考虑到一条一条 插入,就想到了Oracle 存储过程游标这一功能 技术实现: 第一步: 创建函数,自动生成UUID 32位CREATE OR REPLACE -- 创建一个函数function,返...原创 2018-10-30 11:44:14 · 3278 阅读 · 2 评论 -
oracle 行转列,多行转列
问题描述: 应公司要求,设计功能,一个ID,对应不同的值,展示的时候不同的值拼接展示,如何实现; 解决思路: 1) 拼接字符串,想到了 oracle Function(),这样肯定能实现,但是比较麻烦; 2) Oracle 自带的一个函数 wm_concat 函数 非常给力;上代码--测试表1create table ceshi1(ID var...原创 2018-11-14 10:35:23 · 6631 阅读 · 0 评论 -
数据库事务隔离级别-- 脏读、幻读、不可重复读
一 、数据库事务隔离级别从高到低:串行化 serilizable 消耗资源比较严重重复读 repeatable read Oracle 默认的事务隔离级别读提交 read committed Mysql 默认的隔离级别读未提交 read uncommitted 这个几乎没啥作用(哈哈)Read uncommitted 读未提交...转载 2018-11-15 09:38:33 · 96 阅读 · 0 评论 -
Clob字段 Union 带来的问题:ORA-00932:数据类型不一致:应为-,但却获得CLOB
问题描述: 在Mybatis 操作CLOB 的时候遇到了错误,ORA-00932:数据类型不一致:应为-,但却获得CLOB 问题定位:1. 看看操作clob 字段的时候用到了Union 了吗? 原因: clob 字段不支持分类,union 关键字会对字段进行group by , 这个隐藏从错误很难发现, 耽误了我一天的时候,修改这个问题; ...原创 2018-11-21 16:25:45 · 3218 阅读 · 3 评论 -
Mybatis 批量插入数据 关于Oracle 批量插入
问题:用mybaits 批量插入数据到Oracle 数据库的时候,报错:ORA-00933: SQL 命令未正确结束 / ORA-00933: SQL command not properly ended ;意思就是 语法错误 原因:oracle 批量插入与mysql 的批量插入的方式是不同的,insert into tablename()values(),(),(); -...原创 2018-12-20 09:50:18 · 9367 阅读 · 3 评论 -
oracle 随机函数random(); 生产UUID
--1、小数( 0 ~ 1) select dbms_random.value from dual ;--2、指定范围内的小数 ( 0 ~ 100 ) select dbms_random.value(0,100) from dual ;--3、指定范围内的整数 ( 0 ~ 100 ) select trunc(dbms_random.value(0,1...转载 2018-12-18 16:37:25 · 1772 阅读 · 0 评论