数据库
凌琅Zxin
这个作者很懒,什么都没留下…
展开
-
SQL各种join用法
来自微信公众号“Java编程精选”下图展示了LEFT JOIN、LEFT JOIN、INNER JOIN、OUTER JOIN相关的七种用法1.INNER JOIN 内连接SELECT <select_list>FROM table_A AINNER JOIN table_B BON A.key=B.key2. LEFT JOIN 左连接...转载 2019-04-16 20:44:48 · 190 阅读 · 0 评论 -
事务、事件(文件、时间、调度和执行)、复制、分片(范围、哈希)、简单的论坛系统分析
1.事务一个事务包含了多个命令,服务器在执行事务期间,不会改去执行其它客户端的命令请求。事务中的多个命令被一次性发送给服务器,而不是一条一条发送,这种方式被称为流水线。它可以减少客户端与服务器之间的网络通信次数从而提升性能。Redis 最简单的事务实现方式是使用 MULTI 和 EXEC 命令将事务操作包围起来。2. 事件Redis 服务器是一个事件驱动程序。2.1 文...原创 2019-04-27 18:43:21 · 349 阅读 · 0 评论 -
数据结构(字典,跳跃表)、使用场景(计数器、缓存、查找表、消息队列、会话缓存、分布式锁)、Redis 与 Memcached、 键的过期时间、数据淘汰策略、持久化(RDB、AOF)
1. 数据结构1.1 字典dictht 是一个散列表结构,使用拉链法保存哈希冲突的 dictEntry/* This is our hash table structure. Every dictionary has two of this as we* implement incremental rehashing, for the old to the new table.*/...原创 2019-04-26 21:58:23 · 695 阅读 · 0 评论 -
Redis概述、数据类型
1. 概述Redis 是速度非常快的非关系型(NoSQL) 内存键值数据库,可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串,值支持的五种类型数据类型为:字符串、列表、集合、散列表、有序集合。Redis 支持很多特性,例如将内存中的数据持久化到硬盘中,使用复制来扩展读性能,使用分片来扩展写性能。2. 数据类型数据类型 可以存储的值 操作 STRING...原创 2019-04-26 21:38:13 · 255 阅读 · 0 评论 -
关系数据库设计理论(函数依赖、异常、范式)、ER图
1. 关系数据库设计理论1.1 函数依赖记 A->B 表示 A 函数决定 B,也可以说 B 函数依赖于 A。如果 {A1,A2,... ,An} 是关系的一个或多个属性的集合,该集合函数决定了关系的其它所有属性并且是最小的,那么该集合就称为键码。对于 A->B,如果能找到 A 的真子集 A',使得 A'-> B,那么 A->B 就是部分函数依赖,否则就是完全...原创 2019-04-26 20:45:39 · 3572 阅读 · 0 评论 -
隔离级别(未提交读、提交读、可重复读、可串行化)、多版本并发控制、Next-Key Locks(Record Locks、Gap Locks)
1. 隔离级别1.1 未提交读(READ UNCOMMITTED)事务中的修改,即使没有提交,对其它事务也是可见的。1.2 提交读(READ COMMITTED)一个事务只能读取已经提交的事务所做的修改。换句话说,一个事务所做的修改在提交之前对其它事务是不可见的。1.3 可重复读(REPEATABLE READ)保证在同一个事务中多次读取同样数据的结果是一样的。1.4 ...原创 2019-04-26 20:36:29 · 2703 阅读 · 0 评论 -
事务(ACID)、并发一致性问题(丢失修改、读脏数据、不可重复读、幻影读)、封锁(封锁粒度、类型、协议、MySQL 隐式与显示锁定)
1. 事务1.1 概念事务指的是满足 ACID 特性的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚。1.2ACID1.2.1 原子性(Atomicity)事务被视为不可分割的最小单元,事务的所有操作要么全部提交成功,要么全部失败回滚。回滚可以用日志来实现,日志记录着事务所执行的修改操作,在回滚时反向执行这些修改操作即可。...原创 2019-04-26 17:14:14 · 1322 阅读 · 0 评论 -
复制(主从复制、读写分离)
1. 复制1.1 主从复制主要涉及三个线程:binlog 线程、I/O 线程和 SQL 线程。binlog 线程 :负责将主服务器上的数据更改写入二进制日志中。 I/O 线程 :负责从主服务器上读取二进制日志,并写入从服务器的中继日志中。 SQL 线程 :负责读取中继日志并重放其中的 SQL 语句。1.2读写分离主服务器处理写操作以及实时性要求比较高的读操作,而从服务器...原创 2019-04-26 16:48:05 · 471 阅读 · 0 评论 -
数据类型(整型、浮点数、字符串、时间和日期)、切分(水平、垂直)
1. 数据类型1.1 整型TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT 分别使用 8, 16, 24, 32, 64 位存储空间,一般情况下越小的列越好。INT(11) 中的数字只是规定了交互工具显示字符的个数,对于存储和计算来说是没有意义的。1.2 浮点数FLOAT 和 DOUBLE 为浮点类型,DECIMAL 为高精度小数类型。CPU ...原创 2019-04-26 16:45:22 · 1422 阅读 · 0 评论 -
查询性能优化(使用 Explain 进行分析、优化数据访问、重构查询方式)、存储引擎(InnoDB/MyISAM)
1.查询性能优化1.1 使用 Explain 进行分析Explain 用来分析 SELECT 查询语句,开发人员可以通过分析 Explain 结果来优化查询语句。比较重要的字段有:select_type : 查询类型,有简单查询、联合查询、子查询等 key : 使用的索引 rows : 扫描的行数1.2 优化数据访问1.2.1 减少请求的数据量只返回必要的列:最好不要...原创 2019-04-26 16:31:53 · 389 阅读 · 0 评论 -
MySQL索引(B+Tree 索引、哈希索引、全文索引、 空间数据索引)、索引优化、优点、使用场景
1. MySQL索引是在存储引擎层实现的,而不是在服务器层实现的,所以不同存储引擎具有不同的索引类型和实现。1.1 B+Tree 索引是大多数 MySQL 存储引擎的默认索引类型。因为不再需要进行全表扫描,只需要对树进行搜索即可,因此查找速度快很多。除了用于查找,还可以用于排序和分组。可以指定多个列作为索引列,多个索引列共同组成键适用于全键值、键值范围和键前缀查找,其中...原创 2019-04-26 16:13:56 · 1346 阅读 · 0 评论 -
MySQL必知必会——了解SQL/SQL简介/使用MySQL
一、数据库基础数据库(database) 保存有组织的数据的容器(通常是一个文件或一组文件)。 数据库软件应称为DBMS(数据库管理系统); 数据库是通过DBMS创建和操纵的容器。 表(table) 某种特定类型数据的结构化清单。 存储在表中的数据是一种类型的数据或一个清单。 表名:唯一性取决于多个因素,虽然在相同数据库中不能两次使用相同的表名,但在不同的数据库...原创 2019-03-20 16:10:15 · 219 阅读 · 0 评论 -
DBUtils、连接池
1.DBUtils它是JDBC的简化开发工具包需项目导入commons-dbutils-1.6.jar3个核心功能:QuerryRunner:提供对SQL语句操作的API ResultSetHandler:接口,用于定义select操作后,怎样封装结果集 DBUtils类:一个工具类,定义了关闭资源与事务处理的方法2.QuerryRunnerupdate(Connect...原创 2019-03-08 23:14:52 · 200 阅读 · 0 评论 -
Java Data Base Connection(JDBC)
用于执行SQL语句的Java API,可为多种关系数据库提供统一访问。它由一组用Java语言编写的类和接口组成,是Java访问数据库的标准规范。JDBC需连接驱动。驱动:两个设备要进行通信时需满足的一定的通信数据格式。 数据格式由设备供应商规定 设备供应商提供驱动软件,通过软件可以与该设备进行通信。 JDBC是接口 驱动是接口的实现1.JDBC开发步骤1.1导入驱...原创 2019-03-08 21:40:33 · 300 阅读 · 0 评论 -
数据库基础
1.数据库本质是一个文件系统,数据按照特定的格式存储,用户可以对数据进行增删改查操作。2.数据库管理系统 DBMS一种操作和管理数据库得到大型软件用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完成性。用户通过DBMS访问数据库中表内的数据2.1常见的DBMS:MySQL:小型数据库 Oracle:大型数据库 DB2:应用在银行系统中...原创 2019-03-08 16:25:25 · 170 阅读 · 0 评论 -
Cause: org.postgresql.util.PSQLException: ERROR: column "province_id" does not exist
数据库中的表bs_province如图所示:SQL语句:select PROVINCE_ID, PROVINCE_CODE, PROVINCE_NAME, SHORT_NAME, LNG, LAT from bs_province报错:Cause: org.postgresql.util.PSQLException: ERROR: column "province_id" do...原创 2019-07-17 17:06:07 · 4878 阅读 · 0 评论