随笔分类 -  MYSQL

OLAP与OLTP的区别
摘要:随着企业信息化的发展,数据量越来越庞大,对于数据分析和处理提出了更高的要求。在数据仓库中,联机分析处理(OLAP)和联机事务处理(OLTP)是常见的两种处理方式。 一、定义与功能 1.OLAP(联机分析处理) OLAP全称为OnlineAnalyticalProcessing,它强调对大量历史数据的 阅读全文

posted @ 2023-10-07 17:35 光明^^龙 阅读(366) 评论(0) 推荐(0)

MySQL删除表的方式
摘要:MySQL删除表有三种方式: 1、drop table drop 是直接删除表信息,速度最快,但是无法找回数据 例如删除 user 表: drop table user; 2、truncate table truncate 是删除表数据,不删除表的结构,速度排第二,但不能与where一起使用 例如删 阅读全文

posted @ 2021-12-24 00:54 光明^^龙 阅读(480) 评论(0) 推荐(0)

对表设置引擎
摘要:MySQL创建数据表时设定引擎MyISAM/InnoDB操作,数据库,引擎,数据表,语句,配置文件 MySQL创建数据表时设定引擎MyISAM/InnoDB操作 有三种方式可以设定数据库引擎: (1)修改配置文件 将安装目录下~\MySQL\mysql-5.6.31-winx64的my.int配置文 阅读全文

posted @ 2021-12-23 00:26 光明^^龙 阅读(60) 评论(0) 推荐(0)

为什么对表设置主键
摘要:数据库主键,指的是一个列或多列的组合,其值能唯一地标识表中的每一行,通过它可强制表的实体完整性。 主键可以用来表示一个精确定位的特定的行,如果没有主键,你就无法精准定位一条记录是否就是你要的相关行记录,这样就会导致更新或删除表中特定的行很困难。 而如果我们有主键来约束行记录的唯一性后,就可以利用主键 阅读全文

posted @ 2021-12-21 00:43 光明^^龙 阅读(142) 评论(0) 推荐(0)

MySQL 临时表
摘要:MySQL 临时表在我们需要保存一些临时数据时是非常有用的。临时表只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间。 临时表在MySQL 3.23版本中添加,如果你的MySQL版本低于 3.23版本就无法使用MySQL的临时表。不过现在一般很少有再使用这么低版本的MySQL数据库 阅读全文

posted @ 2021-12-19 22:48 光明^^龙 阅读(50) 评论(0) 推荐(0)

运算符
摘要:MySQL 主要有以下几种运算符: 算术运算符 比较运算符 逻辑运算符 位运算符 1、算术运算符 MySQL 支持的算术运算符包括: 运算符 作用 + 加法 - 减法 * 乘法 / 或 DIV 除法 % 或 MOD 取余 在除法运算和模运算中,如果除数为0,将是非法除数,返回结果为NULL。 2、比 阅读全文

posted @ 2021-12-17 22:03 光明^^龙 阅读(167) 评论(0) 推荐(0)

建立索引的原则
摘要:1.最左前缀匹配原则,非常重要的原则,mysql会一直向右匹配直到遇到范围查询(>、<、between、like)就停止匹配,比如a = 1 and b = 2 and c > 3 and d = 4 如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引则都可以用 阅读全文

posted @ 2021-12-16 23:41 光明^^龙 阅读(76) 评论(0) 推荐(0)

MVCC和事务的隔离级别
摘要:1、事务:一个数据库事务通常包含对数据库进行读或写的一个操作序列。 2、事务的四大属性(ACID) (1)原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行。 (2)一致性(Consistency):事务应确保数据库的状态从一个一致状态转变为 阅读全文

posted @ 2021-12-15 20:56 光明^^龙 阅读(135) 评论(0) 推荐(0)

乐观锁和悲观锁
摘要:悲观锁:具有强烈的独占和排他特性。它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度。因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加 阅读全文

posted @ 2021-12-14 22:47 光明^^龙 阅读(108) 评论(0) 推荐(0)

数据库锁简介
摘要:MySQL中按照锁的粒度可以细分为行锁、页锁、表锁。 行锁: 1、行锁的锁定颗粒度在MySQL中是最细的,应用于InnoDB存储引擎,只针对操作的当前行进行加锁。并发情况下,产生锁等待的概率较低,支持较大的并发数,但开销大,加锁慢,而且会出现死锁。 2、在InnoDB中使用行锁有一个前提条件:检索数 阅读全文

posted @ 2021-12-13 22:08 光明^^龙 阅读(104) 评论(0) 推荐(0)

如何创建一个好的索引
摘要:1、过滤效率高的放前面 对于一个多列索引,它的存储顺序是先按第一列进行比较,然后是第二列,第三列...这样。查询时,如果第一列能够排除的越多,那么后面列需要判断的行数就越少,效率越高。 关于如何判断哪个列的过滤效率更高,可以通过选择性计算来决定。 2、使用频率高的放前面 其实该建议比第一条优先级更高 阅读全文

posted @ 2021-12-12 22:12 光明^^龙 阅读(135) 评论(0) 推荐(0)

聚集索引与非聚集索引
摘要:1、聚集索引 定义:数据行的物理顺序与列值(一般是主键的那一列)的逻辑顺序相同,一个表中只能拥有一个聚集索引。 聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到包含第一个值的行后,便可以确保包含后续索引值的行在物理相邻。例如,如果应用程序执行 的一个查询经常检索某一日期范围内的记录,则 阅读全文

posted @ 2021-12-11 23:27 光明^^龙 阅读(774) 评论(0) 推荐(0)

MYSQL 索引杰基础知识
摘要:1、索引概念 索引类似于书本目录,是数据库存储引擎维护的用于快速查找到记录的一种数据结构,它是对查询性能优化的最有效手段。 MySQL索引是在存储引擎层而不是服务器层实现的,不同存储引擎的索引工作方式也不一样,也不是所有的存储引擎都支持所有的索引;即使多个存储引擎支持同一种类型的索引,其底层的实现也 阅读全文

posted @ 2021-12-10 23:40 光明^^龙 阅读(32) 评论(0) 推荐(0)

哈希索引
摘要:1、概念: 哈希索引(hash index)基于哈希表实现,只有精确匹配索引所有列的查询才有效。对于每一行数据,存储引擎都会对所有的索引列计算一个哈希码(hash code),哈希码是一个较小的值,并且不同键值的行计算出来的哈希码也不一样。哈希索引将所有的哈希码存储在索引中,同时在哈希表中保存指向每 阅读全文

posted @ 2021-12-09 23:21 光明^^龙 阅读(102) 评论(0) 推荐(0)

视图和游标
摘要:一、游标。 游标的理解:其实我们可以把游标当成一个指针,它总是指向某一行来对其进行操作。 游标的特点:游标是针对某一行操作的。游标需要占用很多资源。 游标的作用:游标可以定位到记录集中特定的行上并进行操作。 游标的使用:游标可以分为四个步骤:声明、打开、提取数据和关闭或释放游标。关于提取数据我们可以 阅读全文

posted @ 2021-12-09 00:33 光明^^龙 阅读(163) 评论(0) 推荐(0)

时间戳
摘要:1、时间戳的概念:数据库中自动生成的唯一二进制数字,与时间和日期无关的, 通常用作给表行加版本戳的机制。存储大小为 8个字节。2、时间戳的作用:在控制并发时起到作用:用户A/B同时打开某条记录开始编辑,保存是可以判断时间戳,因为记录每次被更新时,系统都会自动维护时间戳,所以如果保存时发现取出来的时间 阅读全文

posted @ 2021-12-09 00:32 光明^^龙 阅读(757) 评论(0) 推荐(0)

blob和text的区别
摘要:1、定义: text:text是非二进制字符串,并且需要指定字符集,并按照该字符集进行校验和排序。只能存储纯文本,可以看作是VARCHAR在长度不足时的扩展。 blob:blob存储的是二进制数据,因此无需字符集校验,blob除了存储文本信息外,由于二进制存储格式,所以还可以保存图片等信息,blob 阅读全文

posted @ 2021-12-07 00:31 光明^^龙 阅读(1028) 评论(0) 推荐(0)

数据库查询语句
摘要:简单查询:select 字段名 from 表名 where 条件 例:select name,age from student where sex=”女” # 查询所有女生的姓名和年龄 注:select 后面跟‘*’时表示查询符合条件的所有数据 Distinct 过滤重复行:select disti 阅读全文

posted @ 2021-07-03 20:57 光明^^龙 阅读(523) 评论(0) 推荐(0)

数据库操纵语言(DML)
摘要:Insert 插入语句: insert into 表名(字段名1,字段名2,字段名3,…)values(”字段值1”,”字段值2”,”字段值3”…) 例:insert into student(userID,name,sex,…)values(“001”,”张三”,”男”,…); Insert …s 阅读全文

posted @ 2021-07-03 01:12 光明^^龙 阅读(178) 评论(0) 推荐(0)

库与表的基本操作
摘要:新建库指令:create database 数据库名。 避免创建的数据库里的表出现乱码: create database 数据库名 default character set 字符集 collate 校对集 ,例: create database ecshop1 default character 阅读全文

posted @ 2021-07-01 22:48 光明^^龙 阅读(47) 评论(0) 推荐(0)