数据库
文章平均质量分 75
数据库
斯沃福德
这个作者很懒,什么都没留下…
展开
-
神通MPP数据库的跨库查询
跨库查询,指无需将远端外部数据存储的数据导入到本地数据库,即可通过本地数据库查询远端外部数据存储的数据,满足本地与本地、本地与远端、远端与远端的表的联合查询能力。原创 2023-11-14 16:01:45 · 440 阅读 · 0 评论 -
现场问题:Generated Key 报错
使用Generated Key,就可以在插入数据时省略主键,数据库会自动为其生成一个唯一的值。原创 2023-11-13 09:36:26 · 152 阅读 · 0 评论 -
数据库连接池简介
数据库连接是一个相对麻烦的过程,如果获取一个数据库连接,使用一次以后就给它关闭了下一次再去使用的时候就要重新创建一个新的数据库连接。原创 2023-10-25 21:11:42 · 143 阅读 · 0 评论 -
MySQL启动服务时报错:mysqld: File ‘./binlog.index‘ not found (OS errno 13 - Permission denied)
显示:Can’t create test file /data/mysql/mysqld_tmp_file_case_insensitive_test.lower-test。创建 data文件夹,我的数据目录是 /data/mysql,默认路径是 /var/lib/mysql;修改 配置文件中的datadir,将。原创 2023-05-12 10:41:40 · 3474 阅读 · 2 评论 -
MySQL中的死锁
死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去;原创 2022-09-13 23:18:51 · 904 阅读 · 0 评论 -
with as 优化
当我们书写一些结构相对复杂的SQL语句时,可能某个子查询在多个层级多个地方存在重复使用的情况,这个时候我们可以使用 with as 语句将其独立出来,极大提高SQL可读性,简化SQL~转载 2022-09-12 23:44:34 · 596 阅读 · 0 评论 -
如何去除数据库中重复的数据
重复即first_name, last_name,email 三个字段都相等,则对这个三个字段开窗,也就是重复的数据会在一个窗口,使用row_number对重复的数据排序,最后用子查询限制row_number只为1,即对重复的数据之筛选出来一条;直接在原表上删除数据,条件是对字段联合开窗后,row_number>1 即重复的数据;:distinct后面加多个字段,即多个字段联合起来去重,就能只筛选出一条数据!第一步:对重复数据开窗,使用row_number()函数。:新建一个表tmp,将以上数据导入即可;.原创 2022-08-30 14:53:13 · 18580 阅读 · 0 评论 -
SQL中去重的三种方式
SQL去重是数据分析工作中比较常见的一个场景;在MySQL中通常是使用distinct或groupby子句,但在支持窗口函数的sql(如HiveSQL、Oracle等等)中还可以使用row_number窗口函数进行去重。原创 2022-07-26 16:02:22 · 9248 阅读 · 0 评论 -
Mysql中常见的锁
加锁的目的就是保证共享资源在任意时间里,只有一个线程访问,这样就可以避免多线程导致共享数据错乱的问题。按操作数据的粒度分类:全局锁、表级锁、行锁按数据操作的类型分类:按锁的级别分类:3. 高级锁:读锁、写锁4. 低级锁: 互斥锁、自旋锁 (都是悲观锁)执行后,整个数据库就处于只读状态了,DQL查询可用,DML和DDL不可用。场景:全局锁主要应用于做全库逻辑备份,这样就不会因为数据或表结构的更新,而出现备份文件的数据与预期的不一样的情况。缺点: 粒度太大,造成业务停滞上锁:解锁:InnoDb和MyIS原创 2022-07-01 10:37:22 · 344 阅读 · 0 评论 -
MySQL索引常见问题
按「数据结构」分类: B+tree索引、Hash索引、Full-text索引按「物理存储」分类: 聚簇索引(主键索引)、二级索引(辅助索引)按「字段特性」分类: 主键索引、唯一索引、普通索引、前缀索引按「字段个数」分类: 单列索引、联合索引InnoDB 是在 MySQL 5.5 之后成为默认的 MySQL 存储引擎,InnoDB引擎 使用B+树索引在创建表时,InnoDB 存储引擎会根据不同的场景选择不同的列作为索引:①如果有主键,默认会使用主键作为聚簇索引的索引键(key);②如果没有主键,就选原创 2022-06-20 20:15:40 · 981 阅读 · 0 评论 -
数据库设计的三范式
即设计表的依据都是为了减少数据的冗余、以及增删时信息异常如:以下表无主键、字段还可以再分改:第二范式是建立在第一范式基础上的,要求所有非主键字段完全依赖主键,不能产生部分依赖即只要是联合主键就不满足第二范式 !如果一个表是单一主键,那么它就复合第二范式如:以上虽然确定了主键,但此表会出现大量的冗余,主要涉及到的冗余字段为“学生姓名”和“教师姓名”,出现冗余的原因在于,学生姓名部分依赖了主键的一个字段学生编号,而没有依赖教师编号,而教师姓名部门依赖了主键的一个字段教师编号,这就是第二范式部分依原创 2022-06-17 18:08:16 · 149 阅读 · 0 评论 -
MySQL存储引擎的常见问题
MySQL 【5.5】 之前,MyISAM 引擎是 MySQL 的默认存储引擎由于MyISAM 不支持事务和行级锁,而且最大的缺陷就是崩溃后无法安全恢复。MySQL 【5.5.5 】版本之后,InnoDB 是 MySQL 的默认存储引擎。1. 支持行级锁MyISAM 只有表级锁,而 InnoDB 支持行级锁和表级锁, 默认为行级锁。表级锁:锁定粒度大,发生锁冲突的概率最高, 并发度最低行级锁:即每次操作锁住对应的行数据,锁定粒度最小,发生锁冲突的概率最低,并发度最高也就说,MyISAM 一锁就是锁原创 2022-06-15 18:30:09 · 234 阅读 · 0 评论 -
事务的四大特性和隔离级别
原子性(Atomicity):事务是最小的工作单元,不可再分。一致性(Consistency):事务必须保证多条DML语句同时成功或同时失败。隔离性(Isolation):一个事务不会影响其他事务的运行,互不干扰。事务之间隔离,四个隔离级别。持久性(Durability):最终数据必须要持久化到硬盘当中,事务才算成功。注意:rollback,或者commit后事务就结束了。第一级别:读未提交 (Read Uncommited)对方事务还未提交,但当前事务可以读取到对方未提交的数据读未提交存在脏读现原创 2022-06-15 18:05:44 · 306 阅读 · 0 评论