随笔分类 - 数据库 / Mysql
摘要:1.优化 实现一个查询,可以写出很多种查询语句,不同的语句,根据你选择的引擎、表中数据的分布情况、索引情况、数据库优化策略、查询中的锁策略等因素,最终查询的效率相差很大; 优化要从整体去考虑,有时你优化一条语句后,其它查询反而效率被降低了,所以要取一个平衡点; 即使精通mysql的话,除了纯技术面优
阅读全文
摘要:1.原因 1.1 并发操作:当多个事务同时对同- -张表进行读写操作时,可能会发生锁表的情况。例如,在一个高并发的系统中,多个用户同时对同- -张订单表进行更新,就可能导致订单表被锁定,其他用户无法进行操作。 1.2 事务未提交:当一个事务对一张表进行写操作时,其他事务无法读取和写入该表,直到该事务
阅读全文
摘要:1.JSON类型 1.1 1. 函数 JSON_ARRAY(1, "abc", NULL, TRUE, CURTIME()) json数组 JSON_OBJECT('id', 87, 'name', 'carrot') {"id": 87, "name": "carrot"},key不为null J
阅读全文
摘要:1.优点 1.不用为数据中的每个key值新建一个字段,可以任意的增减字段而无需修改数据表结构,甚至可以减少数据表的设计。 2.可以减少数据表的查询,减少关联查询,一个查询的结果就可以代替几个查询的结果,降低数据库服务器的压力。 2.缺点 1、json数据仅仅只能用于展示display,如果用于条件查
阅读全文
摘要:假如表名为Tab, 人名字段为 myname, 查询语句: select myname, count(*) from tab group by myname having count(*) > 1 如果 having 子句不加,则是统计各名字的数量,加上则只显示 数量大于 1 的人名
阅读全文
摘要:## 1.事务传播机制 Propagation 属性 - REQUIRED(Spring默认的事务传播类型):如果当前没有事务,则自己新建一个事务,如果当前存在事务,则加入这个事务 a1 b1 b2 回滚 ```java @Transactional(propagation = Propagatio
阅读全文
摘要:1.存储引擎 数据库底层软件组织,不同引擎提供不同存储机制,索引技巧,锁定水平等功能,使用不同的存储引擎可以获得特定功能。 MyIASM InnoDB Memory Archive Federated show engines 1.1 MyIASM MySQL默认引擎,没有提供事务支持,行级锁,外键
阅读全文
摘要:0.介绍 Apache 组织提供的一个开源 JDBC 工具类库 1.使用 1.1 pom.xml <dependency> <groupId>commons-dbutils</groupId> <artifactId>commons-dbutils</artifactId> <version>1.7
阅读全文
摘要:1.JDBC直接使用 1.1 pom.xml <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.8</version> </dependency> <dependency>
阅读全文
摘要:1.介绍 数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个; 2.作用 对于普通直接连接: 进行连接(connection),增删改查并提交(execSQL、commit),关闭连接(close)操作 并发高时,建立连接、关闭连接的操作会造
阅读全文
摘要:ON DELETE restrict(约束):当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除。 no action:意思同restrict.即如果存在从数据,不允许删除主数据。 cascade(级联):当在父表(即外键的来源表)中删除对应记录时,首先检查
阅读全文