随笔分类 - database
1
数据存储相关
摘要:数据库原理与技术(新增章节)2020-10 基本概念 数据库(DB):是按照一定结构组织并长期存储在计算机内的、可共享的大量数据的有机集合。 解释: 1)数据库中的数据是按照一定的结构数据模型来进行组织的,即数据间有一定的联系以及数据有语义解释。 数据模型:数据库系统的核心和基础,是关于描述数据与数
阅读全文
摘要:触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性。 13.1 创建触发器 CREATE [DEFINER = user] TRIGGER trigger_name trigger_time trigger_eve
阅读全文
摘要:MySQL官方文档有存储例程(Store routines)一说,它的两种类型就是存储过程和函数。 12.1 什么是存储过程和函数 存储过程和函数是事先经过编译并存储在数据库中的一段SQL语句的集合。可以把一些复杂的数据处理逻辑封装在存储过程和函数,这样就减轻了后端人员编写SQL语句的负担,提高了数
阅读全文
摘要:11.1 什么是视图 视图是一种虚拟存在的表,并不在数据库中实际存在,对用户透明,行列数据来自定义视图的查询中使用的表,并且在使用的过程中动态生成的。 视图相对于普通表的优势主要包括: 简单:使用视图的用户无需关心查询的数据后面对应的表结构、关联条件等。用户透明。对用户来说是已经过滤好的符合条件
阅读全文
摘要:10.1 索引概述 数据库索引:是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据表中数据。索引的实现通常使用B树及其变种B+树。 MySQL索引:索引用于快速查找具有特定列值的行。没有索引,MySQL必须从第一行开始,然后通读整个表以找到相关的行。 索引的优点 通过创建唯一性索引,可以
阅读全文
摘要:9.1. MySQL支持的字符集 MySQL 服务器可以支持多种字符集,在同一台服务器、同一个数据库、甚至同一个表的不同字段都可以指定使用不同的字符集,相比 Oracle 等其他数据库管理系统,在同一个数据库只能使用相同的字符集,MySQL 明显存在更大的灵活性。 (1)查看所有可用的字符集命令:s
阅读全文
摘要:MySQL中存储引擎针的概念,针对不同的存储需求选择最优的存储引擎。提高数据的存取读取效率。 7.1 MySQL存储引擎概述 MySQL支持的存储引擎包括MyISAM、InnoDB、MEMORY、MERGE、BDB等(前两种常用,后两种了解即可)。其中InnoDB和BDB提事务安全表,其他存储引擎都
阅读全文
摘要:8.1 CHAR与VARCHAR CHAR 和 VARCHAR 类型类似,都用来存储字符串,但它们保存和检索的方式不同。CHAR 属于固定长度的字符类型,而 VARCHAR 属于可变长度的字符类型。当char定义一定宽度的格式时,数据末尾的空格会被处理掉。char是固定长度的,处理速度比varc
阅读全文
摘要:MySQL常用函数包括字符串函数、 数值函数、日期和时间函数、流程函数等。也许在Java开发中并不需要全都掌握,但是了解总比是个愣头青强吧!况且如果结合业务场景选择合适的函数来简化sql的查询处理,往往能事半功倍。 MySQL中的函数格式基本都是函数名加括号加形参组成,不只是MySQL,其他语言的函
阅读全文
摘要:MySQL支持多种类型的运算符,来连接表达式的项。这些类型主要包括算数运算符、比较运算符、逻辑运算符和位运算符。 4.1 算数运算符 (1) “/”为实数除,结果有小数位,“div”为整数除,结果不存在小数位,不会四舍五入。 # 无需选择数据库就可以进行表达式的操作查询 mysql> select
阅读全文
摘要:3.1数值类型 MySQL支持所有标准SQL中的数值类型,主要有整数、浮点数、定点数、位类型。表3-1列出了MySQL5.0中支持的所有数值类型。关键字INT是INTEGER的同名词,DEC是DECIMAL的同名词。 3.1.1 整数类型 (1) 对于整型数据,MySQL支持在类型名称后面的小括号内
阅读全文
摘要:DDL语句 # 库命令相关 # 创建数据库 create database DB_NAME; # 查看数据库 show databases; # 选择数据库 use DB_NAME; # 删除数据库 drop database DB_NAME; # 更改数据库名(不支持) rename OLD_DB
阅读全文
摘要:Windows系统 Win下安装MySQL整体来说没什么难度,基本都是傻白甜操作。 步骤: 官网下载MySQL安装包 安装,安装过程有很多配置,都很简单,next 安装成功后,可以通过MySQL command命令窗口进行操作 注意点: 配置MySQL环境变量,在dos下就能够执行MySQL相关命令
阅读全文
摘要:1 优化SQL语句的一般步骤 1.1 通过 show status命令了解各种SQL的执行频率 MySQL客户端连接成功后,通过show[session|global]status命令可以提供服务器状态信息 # 所有存储引擎的表统计信息 show status like 'Com_%'; # I
阅读全文
摘要:优化数据库对象 优化表的数据类型 在MySQL中,可以使用PROCEDURE ANALYSE()对当前应用的表进行分析,该函数可以对数据表列的数据类型提出优化建议,用户可以根据应用的实际情况酌情考虑是否实施优化。 使用方法: select * from tb_name procedure analy
阅读全文
摘要:锁是计算机协调多个进程或线程并发访问某一资源的机制,并发访问控制的基础。 1. MySQL锁概述 MySQL不同的存储引擎支持不同的锁机制。比如,MyISAM和MEMORY使用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁(page-level locking),
阅读全文
摘要:1. 优化MySQL Server 之前提到过,MySQL的优化,从基础层面有SQL语句的优化,表字段数据库对象的优化。另外MySQL还有本节将要介绍的Server层面上的优化。 为什么要优化? 通常一个应用的吞吐量瓶颈往往出现在数据库中的处理速度上,随着应用的使用,数据库数据逐渐增多,数据库处理压
阅读全文
摘要:1. 磁盘I/O问题 作为应用系统的持久化层,不管数据库采取了什么样的 Cache 机制,但数据库最终总是要将数据储存到可以长久保存的I/O设备──磁盘上,但磁盘的存取速度显然要比CPU、RAM 的速度慢很多,因此,对于比较大的数据库,磁盘 I/O 一般总会成为数据库的一个性能瓶颈! 我们前面提到的
阅读全文
摘要:1. 应用优化 1.1 使用连接池 对于访问数据库来说,建立连接的代价比较昂贵,因此,可以通过建立“连接池”提高访问的性能。 连接池:把连接当做对象或者设备,统一放在一个“池子”中,以前需要直接访问数据库的地方,现在都改为从这个“池子”里面获取连接来使用。因为“池子”中的连接都已经预先创建好,可以直
阅读全文
1

浙公网安备 33010602011771号