随笔分类 - 数据库
摘要:### 一、检查数据库表是否存在 ```sql select * from all_Objects where owner ='TEST' and object_type='TABLE' and Object_name like '%HC%'; ``` ### 二、查看建表语句 ```sql sel
阅读全文
摘要:[达梦]达梦数据库查看锁以及解锁 1、查看锁 为了方便用户查看当前系统中锁的状态,DM 数据库专门提供了一个 V$LOCK 动态视图。 通过该视图,用户可以查看到系统当前所有锁的详细信息,如锁的内存地址、所属事务 ID、 锁类型、锁模式等。用户可以通过执行如下语句查看锁信息: SELECT * FR
阅读全文
摘要:【数据库设计】宽表和窄表的区别 一、宽表 (1)宽表:从字面意义上讲就是字段比较多的数据库表。通常是指业务主题相关的指标、维度、属性关联在一起的一张数据库表。由于把不同的内容都放在同一张表存储,宽表已经不符合三范式的模型设计规范,随之带来的主要坏处就是数据的大量冗余,与之相对应的好处就是查询性能的提
阅读全文
摘要:请查看原文:39 | 自增主键不连续 - 云+社区 - 腾讯云 (tencent.com) 自增主键可以让主键索引尽量地保持递增顺序插入,避免了页分裂,因此索引更紧凑。 建表: CREATE TABLE `t` ( `id` int(11) NOT NULL AUTO_INCREMENT, `c`
阅读全文
摘要:原文地址:https://dev.mysql.com/doc/refman/8.0/en/innodb-consistent-read.html 在 REPEATABLE READ 隔离级别的几种表现形式 1)在同一个事务中多次查询,看到的数据一致 A consistent read means t
阅读全文
摘要:问题背景 最近调试Kettle脚本,一个环境脚本正常执行,另外一个报错主键冲突。脚本如下。 INSERT INTO tj_dy_info (id, name,age) (SELECT REPLACE(UUID(),'-','') AS id, xm as name, age FROM dy_info
阅读全文
摘要:MySQL 创建函数报错 This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you might want to us
阅读全文
摘要:一、背景 电脑安装的kettle工具版本是7.1,由于前一个项目的使用的Mysql8.0的数据库,所有将lib目录下mysql连接驱动升级到mysql-connector-java-8.0.26.jar,当前使用的数据版本是5.7.24。 在整合kettle脚本,发现脚本好多都报错,具体异常如下:
阅读全文
摘要:1、添加参数 –default-character-set 先检查一下,目标数据编码。 show variables like 'character%'; 使用目标库编码导入数据,如下 mysql -u root -p password < data.sql –default-character-s
阅读全文
摘要:在使用 MySQL 8.0 时重启应用后提示 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Public Key Retrieval is not allowed 最简单的解决方法是在连接后面添加 allo
阅读全文
摘要:MySQL8.0版本以上支持递归查询 CTE 递归 CTE语法规则 WITH RECURSIVE cte_name[(col_name [, col_name] ...)] AS ( initial_query -- anchor member UNION ALL recursive_query -
阅读全文
摘要:当查询语句中的多个查询条件使用OR关键字进行连接时,只要OR连接的条件中有一个查询条件没有使用索引,MySQL就不会使用索引,而是对数据表进行全表扫描。也就是说,使用OR连接多个查询条件,且每个查询条件必须使用索引时,MySQL才会使用索引查询数据。 如下表 show create table g_
阅读全文
摘要:一、第一范式 第一范式主要是确保数据表中每个字段的值必须具有原子性,也就是说数据表中每个字段的值为不可再次拆分的最小数据单元。 上图为反例 符合MySQL的第一范式 二、第二范式 第二范式是指在第一范式的基础上,确保数据表中除了主键之外的每个字段都必须依赖主键。 如下图不符合第二范式 由于商品的名称
阅读全文
摘要:1、可重复读 可重复读(REPEATABLE READ)是MySQL的默认隔离级别,具体是指在同一事务中多次读取的数据是一致的。 2、如何实现 MySQL是使用多版本并发控制(MVCC,Mutil-Version Concurrency Control)实现的。 在InnoDB中,是通过在每行记录后
阅读全文
摘要:查询这个博客,讲挺清楚 mysql优化:覆盖索引(延迟关联) - 一枝花算不算浪漫 - 博客园 (cnblogs.com)
阅读全文
摘要:【数据库】【MySQL】SQL的执行顺序 理解SQL的执行顺序,可以提升编程能力,避免编写出各种诡异的SQL相关BUG。 SQL 查询的执行顺序如下 (1) FROM <left_table> (2) <join_type> JOIN <right_table> (3) ON <join_condi
阅读全文
摘要:【MySQL】高性能的索引 1、B-Tree B-Tree索引适用于全键值、键值范围或者键前缀查找(最左前缀)。 全值匹配 匹配最左前缀 匹配列前缀 匹配范围值 精准匹配某一列并范围匹配另外一列 只访问索引的查询 2、B树索引优点: 数值临近的索引,在存储空间上临近,可以为 order by 、 g
阅读全文
摘要:【MySQL】IN的执行与优化 1、OR与IN对比 引用《高性能MySQL》第三版: 在很多数据库系统中,IN( )完成等同于多个OR条件的子句,因为这两者时完全等价的。在MySQL中这点是不成立的,MySQL将IN( )列表中的数据先进行排序,然后通过二分查找的方式来确定列表中的值是否满足条件,这
阅读全文
摘要:《高性能MySql》笔记二 1、字段类型设计原则 smaller is usually better.(更小的通常更好) simple is good.(简单就好) avoid null if possible.(尽量避免 NULL) 注:NULL列改成非NULL,对性能提升有限。 2、数字类型 整
阅读全文