
数据库
文章平均质量分 63
shixiaoguo90
这个作者很懒,什么都没留下…
展开
-
Oracle之唯一性约束(UNIQUEConstraint)用法详解
1 目标用示例演示如何创建、删除、禁用和使用唯一性约束。2 什么是唯一性约束?唯一性约束指表中一个字段或者多个字段联合起来能够唯一标识一条记录的约束。联合字段中,可以包含空值。注:在Oracle中,唯一性约束最多可以有32列。唯一性约束可以在创建表时或使用ALTER TABLE语句创建。3 唯一性约束和主键的区别 主键(Primary Key):所有组成主键的列都不能包含空值。唯一性约束(Uniq...转载 2018-05-04 14:55:49 · 8301 阅读 · 0 评论 -
MySQL索引背后的数据结构及算法原理
数据结构及算法基础索引的本质MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。我们知道,数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化。最基本的查询算法当然是顺序查找(linear search),这种复杂度为转载 2014-08-10 22:16:53 · 672 阅读 · 0 评论 -
PostgreSQL常用函数
1,with t as (select poi.mid poi_id, link.link_id link_id from poi, nav_link_graphy link where poi.kind not like '%BF00%' and poi.kind not like '%BB86%' and poi.kind not like '%2F0105%' and p原创 2014-07-09 11:24:21 · 3404 阅读 · 0 评论 -
WKT 格式
WKTWKT - 概念WKT(Well-known text)是一种文本标记语言,用于表示矢量几何对象、空间参照系统及空间参照系统之间的转换。它的二进制表示方式,亦即WKB(well-known binary)则胜于在传输和在数据库中存储相同的信息。该格式由开放地理空间联盟(OGC)制定。WKT - 几何对象WKT可以表示的几何对象包括:点,线,多边形,转载 2014-06-23 10:42:45 · 15057 阅读 · 0 评论 -
mysql中force Index等一些比较少用到sql优化
对于经常使用oracle的朋友可能知道,oracle的hint功能种类很多,对于优化sql语句提供了很多方法。同样,在mysql里,也有类似的hint功能。下面介绍一些常用的。 1。强制索引 FORCE INDEX SELECT * FROM TABLE1 FORCE INDEX (FIELD1) … 以上的SQL语句只使用建立在FIELD1上的索引,而不使用其它字段上的转载 2014-06-23 10:10:56 · 803 阅读 · 0 评论 -
PostgreSQL+PostGIS的使用(转载)
二、 PostGIS中的几何类型PostGIS支持所有OGC规范的“Simple Features”类型,同时在此基础上扩展了对3DZ、3DM、4D坐标的支持。1. OGC的WKB和WKT格式OGC定义了两种描述几何对象的格式,分别是WKB(Well-Known Binary)和WKT(Well-Known Text)。在SQL语句中,用以下的方式可以使用WKT格式定义几何对象:转载 2014-06-23 10:23:31 · 2164 阅读 · 0 评论 -
通过force index了解的MySQL查询的性能优化
查询是数据库技术中最常用的操作。查询操作的过程比较简单,首先从客户端发出查询的SQL语句,数据库服务端在接收到由客户端发来的SQL语句后, 执行这条SQL语句,然后将查询到的结果返回给客户端。虽然过程很简单,但不同的查询方式和数据库设置,对查询的性能将会有很在的影响。因此,本文就在MySQL中常用的查询优化技术进行讨论。讨论的内容如:通过查询缓冲提高查询速度;MySQL对查询的自动优化;基转载 2014-06-23 10:08:57 · 611 阅读 · 0 评论 -
postgresql 索引类型
postgresql提供了B-tree,R-tree,GiST和hash索引类型。不同的索引类型适合特定的查询类型。绝大多数数据库都支持B-tree索引类型,postgresql默认的create index语句也是创建B-tree索引。 R-tree:R树是一种用于处理多维数据的数据结构,用来访问二维或者更高维区域对象组成的空间数据.R树是一棵平衡树。树上有两类结点:叶子结点和非转载 2014-07-07 17:18:47 · 2805 阅读 · 0 评论 -
丢失的修改、不可重复读、读脏数据、幻影读
常见并发并发一致性问题包括:丢失的修改、不可重复读、读脏数据、幻影读(幻影读在一些资料中往往与不可重复读归为一类)。丢失修改下面我们先来看一个例子,说明并发操作带来的数据的不一致性问题。考虑飞机订票系统中的一个活动序列:甲售票点(甲事务)读出某航班的机票余额A,设A=16.乙售票点(乙事务)读出同一航班的机票余额A,也为16.甲售票点卖出一张机票,修改余额A←A-1.所以A转载 2014-06-03 13:41:34 · 7064 阅读 · 0 评论 -
MySQL索引类型总结和使用技巧以及注意事项
在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个 mytable表:复制代码 代码如下:CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL );我们随机向里面插入了10000条记录,其中有一条:5555, admin。在查找username="admin转载 2014-08-10 16:44:34 · 1837 阅读 · 0 评论 -
为什么NOT IN比NOT EXISTS效率差
为什么NOT IN比NOT EXISTS效率差 分类: Mysql/postgreSQL为什么NOT IN效率差两个SQL, 用NOT IN和NOT EXISTS两种不同写法,效率差别很大.下面两种不同的写法,第一种跑了几个小时也没出结果,第二种几分钟就跑完了select id from r wh转载 2014-11-21 11:04:10 · 2465 阅读 · 0 评论 -
数据库死锁的检查方法
数据库死锁的检查方法 Oracle查询发生死锁的select语句 select sql_text from v$sql where hash_value in (select sql_hash_value from v$session where sid in(select session_id from v$locked_object))转载 2014-11-26 13:40:42 · 2136 阅读 · 0 评论 -
Hbase权限控制配置及收回权限
1.HBase的权限管理需要配置哪些配置文件?2.HBase提供的安全管控级别包括哪些?3.使用哪个命令可实现在HBase中赋值权限?4.如何收回权限?HBase的权限管理依赖协协处理器。所以我们需要配置hbase.security.authorization=true,以及hbase.coprocessor.master.classes和hbase.coprocess转载 2017-08-22 16:32:45 · 5330 阅读 · 0 评论 -
NoSQL数据库的四大分类
基本含义NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。NoSQL数据库的四大分类键值(Key-Value)存储数据库这转载 2017-07-13 08:44:28 · 1045 阅读 · 0 评论 -
时间拉链表用法
(一)概念 拉链表是针对数据仓库设计中表存储数据的方式而定义的,顾名思义,所谓拉链,就是记录历史。记录一个事物从开始,一直到当前状态的所有变化的信息。 在历史表中对客户的一生的记录可能就这样几条记录,避免了按每一天记录客户状态造成的海量存储的问题:(NAME)人名 (START-DATE)开始日期 (END-DT)结束日期 (STAT)状态转载 2016-06-07 17:06:14 · 12153 阅读 · 0 评论 -
数据仓库数据模型之:极限存储--历史拉链表
数据仓库数据模型之:极限存储--历史拉链表 2013-8-8 13:39| 发布者: 天空之城| 查看: 8199| 评论: 0|原作者: superlxw1234|来自:数据仓库,hadoop摘要: 在数据仓库的数据模型设计过程中,经常会遇到文内所提到的这样的需求。而历史拉链表,既能满足对历史数据的需求,又能很大程度的节省存储资源。转载 2016-06-07 17:04:40 · 2809 阅读 · 0 评论 -
Spring连接数据库的几种常用的方式
本文简单的讲解使用Spring连接数据库的几种常用方法: 测试主类为:?12345678910111213141516171819202122232425262728293031323334353转载 2015-12-07 16:30:34 · 626 阅读 · 0 评论 -
Sybase bcp命令详解
bcp命令详解bcp 实用工具在 Microsoft? SQL Server? 2000 实例和数据文件之间以用户指定的格式复制数据。语法bcp {[[database_name.][owner].]{table_name | view_name} | "query"} {in | out | queryout | format} data_file转载 2015-11-12 14:22:16 · 12644 阅读 · 1 评论 -
shell here document 应用实例--shell控制数据库
最近使用Shell编程编辑文件的时候,学习到了Here Document。感觉不错,分享给大家。 Here Document是已“空格变量”为标识的一段Shell程序,不知道这么理解是否准确。 我们知道平常在linux命令行的操作都可以放到文件里面,赋予可执行权限后,就可以将这文件变成一个shell脚本。但是如转载 2015-11-11 15:51:22 · 515 阅读 · 0 评论 -
drop,truncate,delete 区别
delete table 和 truncate table使用delete语句删除数据的一般语法格式:delete [from]{table_name、view_name}[where]将XS表中的所有行数据删除delete XS 执行完后,发现XS表中的数据都删除了,但是表的结构什么都还在。 truncatetruncate table语句转载 2015-08-25 14:09:25 · 531 阅读 · 0 评论 -
对象关系数据库
使用面向对象方法学可以定义任何一种DBMS数据库,即网络型、层次型、关系型、面向对象型均可,甚至文件系统设计可以遵循面向对象的思路。对象-关系数据库正是把面向对象方法学与关系数据库系统技术相结合的产物。按照“第三代数据库系统宣言”的文章的思想,一个面向对象数据库系统(OODBS)必须满足两个条件:(1)支持统一核心的面向对象数据模型;(2)支持传统数据库系统所有的数据库特征。也就是转载 2014-05-30 11:23:53 · 6387 阅读 · 1 评论 -
c/c++调用mysql存储过程
c/c++调用mysql存储过程mysql5.0以后就支持存储过程了,目前mysql的6.0Alpha版也已经推出。6.0不仅支持大型数据库如oracle等的绝大部分功能,如存储过程、视图、触发器、job等等,而且修正了这些功能所存在的bug,其中6.0.1还支持64位windows,以及表空间。在c/c++中访问mysql,常见的只是一些简单的业务,使用c中嵌入简单的查询、插入、更新转载 2014-05-30 15:32:34 · 1256 阅读 · 0 评论 -
mysql 索引的设计和使用
一、Mysql索引概述所有MySQL列类型可以被索引。对相关列使用索引是提高SELECT操作性能的最佳途径。根据存储引擎定义每个表的最大索引数和最大索引长度。所有存储引擎支持每个表至少16个索引,总索引长度至少为256字节。大多数存储引擎有更高的限制。在MySQL 5.1中,对于MyISAM和InnoDB表,前缀可以达到1000字节长。请注意前缀的限制应以字节为单位进行测量,而CREA转载 2014-04-21 21:31:20 · 646 阅读 · 0 评论 -
如何在高并发分布式系统中生成全局唯一Id
如何在高并发分布式系统中生成全局唯一Id http://www.cnblogs.com/heyuquan/p/global-guid-identity-maxId.html点击打开链接又一个多月没冒泡了,其实最近学了些东西,但是没有安排时间整理成博文,后续再奉上。最近还写了一个发邮件的组件以及性能测试请看 《NET开发邮件发送功能的全面教程(含邮件组件源码)》 ,还弄了个MSSQL参数转载 2014-04-20 11:33:43 · 1363 阅读 · 0 评论 -
MySQL分库分表环境下全局ID生成方案
目录[-]1. 数据库自增ID——来自Flicker的解决方案2. 独立的应用程序——来自Twitter的解决方案在大型互联网应用中,随着用户数的增加,为了提高应用的性能,我们经常需要对数据库进行分库分表操作。在单表时代,我们可以完全依赖于数据库的自增ID来唯一标识一个用户或数据对象。但是当我们对数据库进行了分库分表后,就不能依赖于每个表的自增ID来全局唯一标识这些数据了。因此转载 2014-04-20 10:00:06 · 969 阅读 · 0 评论 -
MySQL使用与优化总结
MySQL使用与优化总结发表于6个月前(2013-10-16 23:49) 阅读(918) | 评论(12)88人收藏此文章, 我要收藏赞4摘要 这篇文章总结了工作中用到MySQL的一些常见问题,解决方案;合适的使用场景和优化方案。mysql使用 优化 总结 目录[-]存储引擎的选择:MyISAM vs InnoDB使转载 2014-04-20 10:49:37 · 606 阅读 · 0 评论 -
mysql分表的3种方法
mysql分表的3种方法张映 发表于 2010-08-02分类目录: mysql一,先说一下为什么要分表当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。根据个人经验,mysql执行一个sql的过程如下:1,接收到sql;2,把sql放到排队队列中 ;转载 2014-04-20 09:55:23 · 604 阅读 · 0 评论 -
mysql —— 分表分区
面对当今大数据存储,设想当mysql中一个表的总记录超过1000W,会出现性能的大幅度下降吗?答案是肯定的,一个表的总记录超过1000W,在操作系统层面检索也是效率非常低的解决方案:目前针对海量数据的优化有两种方法:1、大表拆小表的方式(主要有分表和分区两者技术)(1)分表技术垂直分割优势:降低高并发情况下,对于表的锁定。不足:对于单表来说,转载 2014-04-19 21:44:44 · 778 阅读 · 0 评论 -
mysql数据库的左连接,右连接,内链接。有何区别
一般所说的左连接,右连接是指左外连接,右外连接。做个简单的测试你看吧。先说左外连接和右外连接:[TEST1@orcl#16-12月-11] SQL>select * from t1;ID NAME---------- --------------------1 aaa2 bbb[TEST1@orcl#16-12月-11] SQL>select * from t2转载 2014-04-18 15:28:03 · 636 阅读 · 0 评论 -
mysql对GIS的支持 & oracle 空间数据库说明
今天下午闲来无事,无意中翻看了一下mysql的手册,以前总是很有针对性的查阅手册的内容,重点都是放在了sql语句的一些基本细节、mysql的性能参数、存储控制的管理等方面,但是今天无意中发现了一个mysql的重要特点,那就是mysql对gis相关的空间数据也有存储功能,这一点突然激起了我的兴趣,所以也着重的研究了一下手册的相关内容。从手册上来看 其实mysql很早就提供了对gis对象的支持,只是我转载 2014-04-17 14:26:53 · 1887 阅读 · 0 评论 -
MySQL集群的可行方案
如果单MySQL的优化始终还是顶不住压力时,这个时候我们就必须考虑MySQL的高可用架构(很多同学也爱说成是MySQL集群)了,目前可行的方案有:一、MySQL Cluster优势:可用性非常高,性能非常好。每份数据至少可在不同主机存一份拷贝,且冗余数据拷贝实时同步。但它的维护非常复杂,存在部分Bug,目前还不适合比较核心的线上系统,所以这个我不推荐。二、DRBD磁盘网转载 2014-05-03 14:04:47 · 565 阅读 · 0 评论 -
表关联键上创建索引的重要性
http://www.cnblogs.com/aspnet2008/archive/2010/06/03/1750911.html表关联键上创建索引的重要性 很久没有写SQL相关的文章了,主要是现在技术部分工比以前明确了。网站部门并不自己写SQL查询数据,数据有其它部门提供服务。但并不是所有情况都是这样,有些项目由于之前没有管理,所以只能自己完成。在这次写的一个转载 2014-04-22 11:10:59 · 1397 阅读 · 0 评论 -
InnoDB和MyISAM区别总结
InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣, 视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比 InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。 以下是一些细节和具体实现的差别: ◆1.I转载 2014-04-21 22:29:08 · 648 阅读 · 0 评论 -
MySQL 系统架构 说明
一.MySQL逻辑架构 第一层,即最上一层,所包含的服务并不是MySQL所独有的技术。它们都是服务于C/S程序或者是这些程序所需要的 :连接处理,身份验证,安全性等等。 第二层值得关注。这是MySQL的核心部分。通常叫做 SQL Layer。在 MySQL据库系统处理底层数据之前的所有工作都是在这一层完成的,包括权限判断, sql解析,行计划优化转载 2014-04-11 17:15:43 · 653 阅读 · 0 评论 -
group by 语句 多字段分组
group by 语句 多字段分组原创 2014-06-13 16:31:36 · 1119 阅读 · 0 评论 -
关于SQL中CTE(公用表表达式)(Common Table Expression)的总结
一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分。特别对于UNION ALL比较有用。因为UNION ALL的每个部分可能相同,但是如果每个部分都转载 2014-06-13 20:49:20 · 1350 阅读 · 0 评论 -
SQL Server之字符串函数
http://www.cnblogs.com/jiajiayuan/archive/2011/06/16/2082488.html 以下所有例子均Studnet表为例:计算字符串长度len()用来计算字符串的长度select sname ,len(sname) from student字符串转换为大、小写lower() 用来将一个字符串转换转载 2014-06-13 11:33:46 · 503 阅读 · 0 评论 -
POSTGIS简介
一 什么是PostgreSQL和PostGIS1.1 什么是PostgreSQL说起数据库,大家耳熟能详的商业数据库产品当推Oracle、微软的SqlServer和IBM的DB2等,而开源数据库中则有两大产品MySQL和PostgreSQL。PostgreSQL 是一种对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大、特性最丰富和最复杂的自由软件数据库系统。它起源转载 2014-06-11 10:37:01 · 4430 阅读 · 0 评论 -
POSTGIS常用函数
1,基本操作函数AddGeometryColumn(, , , , , )给一个已存在属性数据表增加一个几何字段(geomtry column)。schema_name 指表的模式的名字,srid 必须是一个整数指对应于 SPATIAL_REF_SYS 表,type必须是一个大写的字符串,用来描述几何类型,例如:'POLYGON' 或者 'MULTILINESTRING'。Drop转载 2014-06-11 10:31:59 · 926 阅读 · 0 评论 -
Oracle SQL 正则表达式(regular expression)
在oracle数据库当中有字符处理的函数,比如substr()、replace()和instr(),当然也有做字符匹配的操作符like,不过这些函数和操作符在处理一些复杂的字符串时,会显得有些力不从心。从oracle10g开始,Oracle内建了符合IEEE POSIX (Portable Operating Systemfor Unix)标准的正则表达式。当然oracle也支持perl的正则表达转载 2014-06-30 12:30:35 · 1163 阅读 · 0 评论