
数据库
文章平均质量分 89
eff666
这个作者很懒,什么都没留下…
展开
-
PostgreSQL JSON查询
JSON 代表 JavaScript Object Notation。JSON是开放的标准格式,由key-value对组成。JSON的主要用于在服务器与web应用之间传输数据。与其他格式不同,JSON是人类可读的文本格式。PostgreSQL从9.2版本开始支持JSON数据类型,并提供很多函数和操作符维护json数据。下面我们创建一张新表用于说明json数据类型:CREATE TABLE or...转载 2020-04-01 20:06:24 · 26155 阅读 · 0 评论 -
阿里推荐数据库设计规范
设计规范1.【推荐】字段允许适当冗余,以提高查询性能,但必须考虑数据一致。冗余字段应遵循:不是频繁修改的字段。 不是 varchar 超长字段,更不能是 text 字段。正例:商品类目名称使用频率高,字段长度短,名称基本一成不变,可在相关联的表中冗余存 储类目名称,避免关联查询。2.【推荐】单表行数超过 500 万行或者单表容量超过 2GB,才推荐进行分库分表。 说明:如果预计...转载 2020-03-20 11:02:21 · 4117 阅读 · 0 评论 -
mysql优化介绍2
正则表达式是用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。序列 序列说明 ^ 在字符串开始处进行匹配 $ 在字符串结尾进行匹配 . 匹配任意单个字符,包括换行符 […] 匹配中括号的任意字符 [^…] 匹配不在中括号任意字符 a* 匹配零个或多个a 包括空串 a+ 匹配一个或多个a 不包括空串 a...转载 2019-12-19 18:42:30 · 280 阅读 · 0 评论 -
mysql索引介绍
索引是优化中最常用的手段之一,通过索引通常可以解决大多数SQL性能问题。索引使用的场景1.匹配全值,对索引的值都指定具体的值mysql>explainselect*fromrentalwhererental_date='2015-05-2517:22:10'andinventory_id=3andcustomer_id=3\G**********...转载 2020-01-14 09:10:30 · 412 阅读 · 0 评论 -
mysql优化介绍
当面对一个sql性能问题,我们应该从何处入手使得尽快定位问题sql,我们从基础的命令开始。数据库优化1.查看各种命令的执行频率mysql>showstatuslike'Com_%'\g+---------------------------+-------+|Variable_name|Value|+---------------...转载 2019-12-16 19:28:22 · 239 阅读 · 0 评论 -
Mysql锁机制介绍
数据库锁就是一种保证数据一致性而使各种共享资源在被并发访问,并发访问人有序所设计的一种规则。每一种存储引擎的锁机制都是为各自面对的场景所设计,所以各个存储引擎机制也有较大区别。mysql各个存储引擎使用三类锁机制,行级锁定,页级锁定,表级锁定。行级锁定行级锁最大的特点就是锁定对象的颗粒度很小,也是没有各大数据库管理软件实现的最小粒度的,由于粒度小,所以发生的资源竞争概率就很低,能够...转载 2019-12-16 11:27:41 · 690 阅读 · 0 评论 -
索引理解
1、索引的定义1.1 聚集索引就是按照每张表的主键构造一颗【顺序】B+树,同时叶子节点中存放的即为整张表的行记录数据,也将聚集索引的叶子节点称为数据页。聚集索引的这个特性决定了索引组织表中数据也是索引的一部分。同B+树数据结构一样,每个数据页都通过一个双向链表来进行链接;由于实际的数据页只能按照一颗B+树进行排序,因此每张表只能拥有一个聚集索引。在多数情况下,查询优化器倾向于采用聚集索引。对我们的启原创 2017-07-02 16:26:17 · 528 阅读 · 0 评论 -
Oracle中常用SQL语句(一)
1、常用SQL--新建表:create table table1( id varchar(300) primary key, name varchar(200) not null);--插入数据 insert into table1 (id,name) values ('aa','bb');--更新数据 update table1 set id = 'bb' where id='cc'原创 2017-07-02 17:06:32 · 606 阅读 · 0 评论 -
Oracle中常用SQL语句(二)
1、时间处理(1)to_char和to_date基本使用--日期--年 yyyy yyy yy year--月 month mm mon month--日+星期 dd ddd(一年中第几天) dy day --小时 hh hh24 --分 mi--秒 ss--如:select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')currenttime,原创 2017-07-02 17:23:13 · 482 阅读 · 0 评论 -
SQL VIEW(视图)介绍
1、引入假设你的应用对天气记录和城市位置的组合列表特别感兴趣,而你又不想每次键入这些查询。 那么你可以在这个查询上创建一个视图, 它给这个查询一个名字,你可以像普通表那样引用它。CREATE VIEW myview AS SELECT city, temp_lo, temp_hi, prcp, date, location FROM weather, cities原创 2017-07-30 15:58:04 · 12119 阅读 · 2 评论 -
GreenPlum学习(一)
1、 0LTP 与 OLAP数据库系统一般分为两种类型,一种是面向前台应用的,应用比较简单,但是重吞吐和 高并发的0LTP类型;一种是重计算的,对大数据集进行统计分析的OLAP类型。Greenplum 属于后者,下面简单介绍下这两种数据库系统的特点。OLTP ( On-Line Transaction Processing,联机事务处理)系统也称为生产系统,它是事件 驱动的、面向应用的,比如电子商务原创 2017-08-26 15:24:18 · 2331 阅读 · 0 评论 -
GreenPlum学习(二)
1、 Greenplum概述简单地说,GreePlum就是一个与Oracle、DB2、PostgreSQL—样面向对象的关系型数据库。我们通过标准的SQL可以对Greenplum中的数据进行访问存取。在Greenplum中,需要存储的数据在进人数据库时,将先 进行数据分布的处理工作,将一个表中的数据平均分布到每个节点上,并为每个表指定一 个分发列(distribute Column),之后便根据Ha原创 2017-08-26 15:31:28 · 1471 阅读 · 0 评论 -
Hibernate与MyBatis比较
1、ORM对象关系映射(OBJECT RELATIONAL MAPPING,简称ORM),它是用来把对象模型表示的对象映射到基于SQL的关系模型数据库结构中去。这样,我们在具体的操作实体对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作实体对象的属性和方法。ORM技术是在对象和关系之间提供了一条桥梁,前台的对象型数据和数据库中的关系型的数据通过这个桥梁来相互转化。2、ORM框架ORM(原创 2017-05-28 07:57:46 · 1188 阅读 · 0 评论 -
MyBatis与Hibernate区别
1、概述hibernate和mybatis是当前流行的ORM框架。hibernate对数据库结构提供了较为完整的封装。mybatis主要着力点在于java对象与SQL之间的映射关系。2、Hibernate理解Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将java对象与数据库表建立映射关系,是一个全自动的orm框架。Hibernate可以自动生成SQ原创 2017-05-07 16:03:27 · 63416 阅读 · 4 评论 -
分页查询SQL
1、mysql中的分页查询select * from ddmcontent limit offSet,pageSize;pageSize;--每页显示几条数据pageCount;--共有多少页totalCount;--共有多少条数据currentPage;--当前是第几页offset;--偏移量,从第几条数据开始select * from ddmcontent limit 3,10;--从第原创 2016-09-23 08:51:22 · 3235 阅读 · 0 评论 -
存储过程
1、存储过程 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。简单来说存储过程可以说是一个记录集,它是由一些SQL语句组成的代码块,这些SQL语句代码像一个方法一样来实现一些功能(对单表或多表的增删改查),然后再给这个原创 2016-10-22 11:26:43 · 1637 阅读 · 0 评论 -
数据库中的锁
1、概述 1.1 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 1.1.1 丢失更新 A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统。1.1.2 脏读 A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得到的数据就与数据库内的数据产生了不一致。1.1.3 不可原创 2016-10-13 20:56:51 · 557 阅读 · 0 评论 -
mysql命令(一)——连接数据库
1、mysql命令连接数据库格式: mysql -h 主机地址 -P 端口号 -u用户名 -p用户密码2、MySQL连接本地数据库,用户名为“root”,密码“123”mysql -h localhost -u root -p123注意: (1)用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。 (2)如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车原创 2016-10-17 18:41:19 · 34610 阅读 · 0 评论 -
MySql命令(二)——对数据库操作
1、create命令用于创建数据库。 create命令格式:create database <数据库名>;注意:创建数据库之前要先连接Mysql服务器。1.1 建立一个名为test的数据库:create database test;1.2 创建数据库并分配用户:CREATE DATABASE 数据库名;GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,A原创 2016-10-17 18:50:14 · 334 阅读 · 0 评论 -
mysql命令(三)——对表操作
1、create table命令用来创建数据表。 create table命令格式:create table <表名> (<字段名1> <类型1> [,..<字段名n> <类型n>]);1.1 建立一个名为MyClass的表:mysql> create table score( > id int(4) not null primary key auto_increment, >原创 2016-10-17 19:05:20 · 457 阅读 · 0 评论 -
mysql流式读取大数据量与批量插入数据分析
1、流式读取 java从mysql读取大量数据,当结果从myql服务端返回后立即对其进行处理,这样应用就不需要大量内存来存储这个结果集。此时应该用流式读取。PreparedStatement ps = connection.prepareStatement("select .. from ..", ResultSet.TYPE_FORWARD_ONLY, ResultSe原创 2016-09-04 14:48:45 · 6710 阅读 · 0 评论 -
读取海量数据到文件并拆分排序
/** * Created by xxx on 2016/8/29. */import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; i原创 2016-09-04 13:40:52 · 1438 阅读 · 0 评论 -
将Mysql数据导入到ElasticSearch集群
一星期没有写博文了,只是因为最近领导交代了一项艰巨的任务,让我无暇顾及其他。将mysql数据库中的数据搬到我们的ES集群中。mysql数据是我们从阿里那边拉过来临时存放数据的地方,现在要将其存储到我们的集群中。说道这里,可能读者会觉得,这有什么难度。是的,如果数据量很少,几百万或者上千万确实多花点时间传送,就可以了。可是,如果是二十几亿的数据量呢,怎么办?领导给了我一星期时间,包括我写代码,调试速度原创 2016-09-04 11:23:38 · 17131 阅读 · 16 评论 -
JDBC连接数据库详细介绍
1、JDBC连接数据库步骤介绍 在我们的开发中,必不可少要与数据库打交道。今天我将介绍一下,我们经常用的JDBC连接关系型数据库的例子。创建一个以JDBC连接数据库的程序,包含以下步骤: (1)加载JDBC驱动程序原创 2016-08-06 17:55:55 · 724 阅读 · 0 评论 -
mysql性能优化方向
1、连接数Connections优化经常会遇见"mysql: error 1040: too many connections”的情况,一种是访问量确实很高,mysql服务器抗不住,这个时候就要考虑增加从服务器分散读压力,另外一种情况是mysql配置文件中max_connections值过小。//查看mysql的最大连接数max_connectionsmysql> show variables l转载 2017-05-07 15:47:23 · 635 阅读 · 0 评论 -
SQL语言的分类详细介绍
SQL语言共分为四大类:数据查询语言(DQL),数据操纵语言(DML),数据定义语言(DDL)和数据控制语言(DCL)。原创 2016-07-30 09:54:16 · 3492 阅读 · 0 评论