可以供外部程序调用,比如:Java程序。示例:3. 存储过程的优缺点?【了解】优点:存储过程是预编译过的,执行效率高。存储过程的代码直接存放于数据库中,通过存储过程名直接调用,减少网络通讯。安全性高,执行存储过程需要有一定权限的用户。存储过程可以重复使用,可减少数据库开发人员的工作量。缺点:移植性差。4....
可以, 比如 select id from t where num is null 这样的 sql 也是可以的。但是最好不要 给数据库留 NULL, 尽可能的使用 NOT NULL 填充数据库 。不要以为 NULL 不需要空 间, 比如: char(100) 型, 在字段建立时, 空间就固定了, 不管是否插入值 (NULL 也 包含在内), 都是占用 100 个字符的...
从对数据库的操作上分 ●读锁(共享锁)●写锁(排他锁) 从对数据库操作粒度上分 ●行锁●表锁 表锁 每次操作锁住整张表,开销小,加锁快(不需要定位到行),不会出现死锁(每次只有一个线程可以操作这张表,不会产生死锁,行锁可能会产生死锁,因为不同的线程持有了不同的行锁,然后互相等待其他线程释放锁,就造成...
通常来讲在数据库上的悲观锁需要数据库本身提供支持,即通过常用的 select … for update 操作来实现悲观锁。当数据库执行 select for update 时会获取被 select 中的数据行的行锁,因此其他并发执行的 select for update 如果试图选中同一行则会发生排斥(需要等待行锁被释放),因此达到锁的效果。select for update...
分布式常见面试题:分库分表之后,主键id如何生成 #java #数据库 #mysql #程序员 - 程序员叶伟于20240622发布在抖音,已经收获了13.6万个喜欢,来抖音,记录美好生活!
数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数来设定的。无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量。连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时...
【Java面试】场景题:两个库各100万条数据,如何在20秒内让它们对比完? 05:17 【Java面试】秋招面试必刷:kafka的零拷贝原理? 02:54 【金九银十】从没有面试邀约到连斩6个offer!找对努力的方向直接开挂 03:35 【Java面试】秋招面试必刷:说一下你对Spring Boot的约定优于配置的理解? 02:14 【Java面...
第一范式(1NF):数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。 第二范式(2NF):数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有非关键字段都完全...
(左外连接)以左表为基准进行查询,左表数据会全部显示出来,右表 如果和左表匹配 的数据则显示相应字段的数据,如果不匹配,则显示为 NULL; 2.右连接 (右外连接)以右表为基准进行查询,右表数据会全部显示出来,右表 如果和左表匹配的数据则显示相应字段的数据,如果不匹配,则显示为 NULL; 2.聚合函数(必会) 1....
DCL(database controll language):数据库控制语言,开启事务、回滚事务、提交事务等事务 3、说一些数据库优化方面的经验?(*) 1、给关键字建立索引 2、使用存储过程,它使SQL变得更加灵活和高效(一般公司不用这个,java端出错都不知道哪里,结果在数据库中,阿里开发手册禁止使用) ...