
DB
文章平均质量分 54
丶阿喜z
浓缩的才是精华,分享中学习,从菜鸟做起。
展开
-
MySQL数据库优化学习笔记
数据库优化的目的:1.避免出现页面访问错误由于数据库连接timeout产生页面5xx错误由于慢查询造成页面无法加载 由于阻塞造成数据无法提交2.增加数据库的稳定性很多数据库问题都是由于低效的查询引起的3.优化用户体验流畅页面的访问速度良好的网站功能体验可以从几个方面进行数据库优化:SQL语句优化:1.如何发现有问题的SQL?使用MySQL慢查日志对有效率问题的SQL进行监控慢查原创 2015-06-19 20:27:43 · 726 阅读 · 0 评论 -
Oracle数据库中的varchar2类型陷阱
原文链接:http://www.cnblogs.com/iyangyuan/archive/2013/12/25/3491215.html基础介绍:Oracle数据库相信大家都比较熟悉,数据库中有一种非常常用的数据类型:字符串类型。 对应该类型,在oracle中有三种比较常用的类型:varchar2(byte)、varchar2(char)、nvarchar2()。那么这三种类型到底有什么区别呢?转载 2017-06-13 11:27:24 · 1211 阅读 · 0 评论 -
Oracle导数时报错:ORA-12899: value too large for column
原文链接:http://blog.youkuaiyun.com/shuiqingtinglin/article/details/7095787实际场景用Oracle自身支持的sqlldr语句导数据的时候,本来一直好用的文件,就一直在报错:ORA-12899: value too large for column,本来以为程序修改导致字段长度变了,就改了一张表的结构。结果可好,导下一张表依然报错。。报错也好,也就转载 2017-06-13 12:03:04 · 18117 阅读 · 0 评论 -
简述Oracle基本数据类型
Oracle基本数据类型分类总共6大类型,具体如下:字符串类型数字类型日期类型LOB类型LONG RAW & RAW 类型ROWID & UROWID 类型每个类型下详细的数据类型字符串类型列表内容原创 2017-06-13 14:47:08 · 4835 阅读 · 1 评论 -
简述%TYPE和%ROWTYPE的用法
基础概念:%TYPE概念:为了使一个变量的数据类型与另一个已经定义了的变量(尤其是表的某一列)的数据类型相一致,Oracle提供了%TYPE定义方式。当被参照的那个变量的数据类型改变了之后,这个新定义的变量的数据类型会自动跟随其改变,容易保持一致,也不用修改PL/SQL程序了。当不能确切地知道被参照的那个变量的数据类型时,就只能采用这种方法定义变量的数据类型。使用%TYPE特性的优点在于:所引用的原创 2017-06-28 11:28:22 · 12728 阅读 · 0 评论 -
ORACLE优化器之RBO与CBO
转载自:潇湘隐者 http://www.cnblogs.com/kerrycode/p/3842215.html基础概念Oracle发展历程:5->6->7->8->8i->9i->10g->11g->12c**Oracle数据库中的优化器又叫查询优化器(Query Optimizer)。它是SQL分析和执行的优化工具,它负责生成、制定SQL的执行计划。**Oracle的优化器有两种,基于规则的优化转载 2017-06-07 15:37:37 · 1282 阅读 · 0 评论 -
Oracle-表连接类型和表连接方式
表连接类型:Oracle - 表连接的几种类型:内连接(自然连接) 外连接 左外连接 (左边的表不加限制) 右外连接(右边的表不加限制) 全外连接(左右两表都不加限制)自连接(同一张表内的连接)SQL的标准语法:select table1.column,table2.columnfrom table1 [inner | left | right | full ] join tabl原创 2017-11-29 15:55:14 · 16267 阅读 · 2 评论 -
初识Oracle分区表
原文链接:Oracle分区表详解一、分区表的概述:Oracle的表分区功能通过改善可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。通常,分区可以使某些查询以及维护操作的性能大大提高。此外,分区还可以极大简化常见的管理任务,分区是构建千兆字节数据系统或超高可用性系统的关键工具。分区功能能够将表、索引或索引组织表进一步细分为段,这些数据库对象的段叫做分区。每个分区有自己的名称,还可以选择自己转载 2017-12-25 22:20:33 · 510 阅读 · 0 评论 -
Oracle日志记录模式 - LOGGING、FORCE LOGGING、NOLOGGING模式介绍
一、日志记录模式(LOGGING 、FORCE LOGGING 、NOLOGGING)1. 三者的含义LOGGING:当创建一个数据库对象时将记录日志信息到联机重做日志文件。LOGGING实际上是对象的一个属性,用来表示在创建对象时是否记录REDO日志,包括在做DML时是否记录REDO日志。一般表上不建议使用NOLOGGING,在创建索引或做大量数据导入时,可以使用NOLOGGINGFORCE LO转载 2018-01-18 10:34:43 · 9332 阅读 · 0 评论 -
Oracle存储结构简介
Oracle存储结构Oracle存储结构分物理存储结构和逻辑存储结构。物理存储结构:数据文件、日志文件和控制文件逻辑存储结构:数据块 -> 区 -> 段 -> 表空间 -> 数据库Oracle存储结构示意图Oracle物理存储结构1. 数据文件每一个ORACLE数据库有一个或多个物理的数据文件(data file)。一个数据库的数据文件包含全部数据库数据。原创 2018-01-18 11:12:53 · 6532 阅读 · 1 评论 -
事实表,维度,度量,指标之间的关系
事实表:每个数据仓库都包含一个或者多个事实数据表。事实数据表可能包含业务销售数据,如销售商品所产生的数据,与软件中实际表概念一样维度:说明数据,维度是指可指定不同值的对象的描述性属性或特征。例如,地理位置的维度可以包括“纬度”、“经度”或“城市名称”。“城市名称”维度的值可以为“旧金山”、“柏林”或“新加坡”。指标:衡量数据,指标是指可以按总数或比值衡量的具体维度元素。例如,维度“城市”可以关联指标转载 2018-03-14 14:16:46 · 8328 阅读 · 0 评论 -
Hive数据倾斜
在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显。主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Counters得出的平均值,而由于数据倾斜的原因造成map处理数据量的差异过大,使得这些平均值能代表的价值降低。Hive的执行是分阶段的,map处理数据量的差异取决于上一个stage的reduce输出,所以如何将数据均匀的...转载 2018-03-25 12:52:47 · 736 阅读 · 0 评论 -
简述Oracle的rownum原理
rownum背后的机制:Oracle executes your query. Oracle fetches the first row and calls it row number 1.Have we gotten past row number meets the criteria? If no, then Oracle discards the row, If yes, then Or原创 2017-06-08 17:11:02 · 1350 阅读 · 0 评论 -
详述ROWID的原理及其使用
ROWID基础概念在Oracle内部,每个数据表都有一个伪列ROWID,用于存放被称为ROWID的二进制值。每个ROWID代表了一行数据的存储地址。物理ROWID能够标识普通数据表中的一行信息。其中ROWID类型只能存储物理内容,而UROWID(universal rowid)类型可以存储物理,逻辑或外来(non-oracle)ROWID。物理ROWID(PhysicalRowid)可以让我们快速的原创 2017-06-19 16:30:58 · 9939 阅读 · 0 评论 -
NoSQL数据库使用心得
NoSQL数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚。但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题?这个疑惑非常大,为此我看了很多分析文章,但却总感觉是隔靴搔痒。为了一探究竟,半年前我决定用MongoDB这个著名的NoSQL数据库做个产品试试。只有在真实的使用环境中才能得到最贴切的感受。一晃眼,半年过去了,现在我能用亲身的体会来谈谈NoSQL转载 2015-07-28 21:43:08 · 1203 阅读 · 0 评论 -
MongoDB用$group实现组合项去重
问题描述:有下列sql语句:// 查找名字性别唯一的学生select distinct name,sex from student// 转换成MongoDB的话,需要把这种组合列去重,MongoDB好像只支持单个field的去重db.student.distinct("name"); // 只支持一个fielddb.student.distinct("name","sex"); // 错误的,原创 2015-08-28 11:09:59 · 11633 阅读 · 0 评论 -
MongoDB跳出循环的两种方式
问题描述: 我们经常需要在循环内做一些操作,比如字符串拼接等等,当满足一定条件时,想让程序跳出循环。直接代码demo:// 第一种方式:跳出forEach循环var score = 0;db.student.find().forEach(function(x){ score += x.score; // 当学生成绩相加大于1000时,跳出循环 if(score > 10原创 2015-08-28 11:24:35 · 1784 阅读 · 0 评论 -
MongoDB快速启动方法
为了避免每次都在命令行输入下列命令,可以在桌面或者你喜欢的目录位置定义一个mongodbStart.bat文件,每次启动双击该文件即可。文件定义如下:// 1. 转到mongodb安装目录// 2. 指定mongodb数据存放目录即可cd C:\Program Files\MongoDB\Server\3.0\binmongod --dbpath=D:\study\mongodb\db原创 2015-10-08 10:21:44 · 1617 阅读 · 0 评论 -
Mybatis入门学习笔记
原生态jdbc操作存在的问题:1. 数据库连接,使用时就创建,不使用时立即释放,对数据库进行频繁连接的开启和关闭,造成数据库资源浪费,影响了数据库性能。 * 解决方案:使用数据库连接池管理数据库连接。2. 将 sql 语句硬编码到 java 代码中,如果 sql 语句修改,需要重新编译 java 代码,不利于系统维护。 * 解决方案:将 sql 语句配置在 xml 配置文件中,即使 sq原创 2016-09-12 12:55:01 · 838 阅读 · 0 评论 -
Oracle 存储过程快速入门
1.什么是oracle存储过程 存储过程和函数也是一种PL/SQL块,是存入数据库的PL/SQL块。但存储过程和函数不同于已经介绍过的PL/SQL程序,我们通常把PL/SQL程序称为无名块,而存储过程和函数是以命名的方式存储于数据库中的。和PL/SQL程序相比,存储过程有很多优点,具体归纳: 1. 存储过程和函数以命名的数据库对象形式存储于数据库当中。存储在数据库中的优点是很明显的,因原创 2016-10-26 16:57:21 · 1714 阅读 · 0 评论 -
SqlServer存储过程转换成Oracle储存过程语法常见问题
1. top order by 转换成 rownum order by 的问题 (子查询实现)同级情况下的优先处理顺序: sqlserver: 先order by 再top oracle: 先rownum 再 order by2. 已有数据的字段类型不匹配,通过下列语句修改。 alter table css_sed rename column action to myacti原创 2016-10-27 10:20:29 · 6455 阅读 · 0 评论 -
sqlloader中关于ctl控制文件的相关参数说明
sqlloader中关于ctl控制文件的相关参数说明:load dataCHARACTERSET 'UTF8' //指定字符集为UTF-8,解决数据库乱码问题infile 'D:\dat\test.dat' //指定数据文件位置truncate into table table_name //指定装载方式和导入数据的表fields terminated by原创 2016-12-05 13:25:22 · 12184 阅读 · 2 评论 -
浅析Oracle查看执行计划的三种方式
第一种方式:使用 set autotrace 命令查看执行计划备注:使用set autotrace 命令,这个命令只能在oracle的自带工具SQL Plus下运行。=============== SET AUTOTRACE参数 五种选择 ===============1. SET AUTOTRACE OFF ---------------- 不生成AUTOTRACE 报告,这是缺省模式2. SE原创 2017-03-20 16:12:46 · 5178 阅读 · 0 评论 -
浅析数据库(DB)、操作数据存储(ODS)和数据仓库(DW)的区别与联系
文章背景:相信大部分刚接触上面三个概念的同学,都多多少少会有些迷惑,现在我就给大家简单分析下这三者的关系,希望大家对这三者的概念理解有所帮助吧。本文主要从下面两类关系来叙述上面三者的关系:数据库(DB)和数据仓库(DW)的区别与联系操作数据存储(ODS)和数据仓库(DW)的区别与联系数据库与数据仓库的区别与联系数据库与数据仓库基础概念:数据库:传统的关系型数据库的主要应用,主要是基本的、日常的原创 2017-04-13 11:50:23 · 21803 阅读 · 8 评论 -
SQL Update的四种常见写法
/* 实验对象:两个学生表 1. 一个stu学生表,一个stu1学生表. 2. 上述表有三个字段 (学生id,学生性别,学生名字)*//* update语句常见场景,分为两大类: 1.单表update 2.多表关联update*/-- 1.1 单表update单字段update stu t set t.NAME = 'mike' where原创 2017-05-24 13:16:06 · 94119 阅读 · 4 评论 -
浅析Oracle数据字典
1. Oracle数据字典概述:数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息。Oracle中的数据字典有静态和动态之分。静态数据字典主要是在用户访问数据字典时不会发生改变的,但动态数据字典是依赖数据库运行的性能...原创 2019-01-07 16:12:30 · 667 阅读 · 1 评论