
数据库
阿祥l
励志成为百万博主
展开
-
如何优化数据库?
1.查询的时候尽量使用字段名不要写*;2.删除表中所有数据的时候不要使用Delete from 表名,要使用 truncate table 表名;3.使用join关联表的时候最多不要超过3个表关联;4.在使用in的时候集合中的数据最好不要超过200条;5.在设置表的时候,尽量设置字段不为null,除非这个字段有必须为null;6.使用索引的方式;7.分库分表。...原创 2021-12-29 17:56:17 · 338 阅读 · 0 评论 -
数据库引擎
引擎(常用的两个)默认使用的是:innodb(现在用的)myisam(前几年用的)Myisam的优点:查询快,节约空间;innoDB的优点:安全性高,支持事务的处理,支持多表的操作。区别: Myisam InnoDB 事务 不支持 支持数据行锁定 不支持(有表锁) ...原创 2021-12-27 14:32:51 · 309 阅读 · 0 评论 -
事务的执行流程:
首先说一下 事务有两种执行方式,一种是自动提交(默认的提交方式,里面有两个值0关闭,1开启(默认set aotucommit -1)),一种是手动提交;我们在写事务的时候要先将提交方式改为手动提交,然后提交以后有两个结果,分别是回滚和提交事务,回滚代表有异常,提交事务表示执行正常。...原创 2021-12-25 09:30:49 · 1536 阅读 · 0 评论 -
数据库的隔离性所带来的问题
<1.脏读:一个事务读取到了另一个事务未提交的数据;场景:假如有三个用户A B CA:500 B:0 C:300现在A和C同时给B转账200 块钱但是呢因为事务的隔离性所以A给B转账不能和C给B转账相互干扰 然后出现的问题叫脏读;<2.不可重复读:在一个事务内读取表中数据的时候,两次读取到的数据不一致;场景:假如有三个用户A B CA:500 B:0 C:300第一次在读取这三个数据的时候 A:500 B:0 C:300第二次又读取这三个数据的时候 A:500...原创 2021-12-23 15:03:47 · 793 阅读 · 0 评论 -
事务的原则:
ACID原则,也就是四大特性:原子性,一致性 ,持久性,隔离性原子性:要么都成功,要么都失败;一致性:操作前后数据的完整性保持一致;持久性:一旦提交就不可逆,会持久化到数据库中;隔离性:就是多个用户同时访问数据库时,数据库会给每一个用户开启一个事务,事务直接不会被干扰。...原创 2021-12-22 10:20:54 · 542 阅读 · 0 评论 -
Oracle数据库的数据类型
常用的数据类型有:一.数值类型number: 在Oracle中取消了在mysql中的int类型,使用number代替,如果你在创建数据库表的时候使用了int类型会自动转换成number类型,并且Oracle没有这个”auto_increment”属性,所以它没法像MySQL般在表内定义自增主键。但是,Oracle里的序列(SEQUENCE),可间接实现自增主键的作用;number有两个参数:number(m,n):m用来表示有几位有效数字最大是38位,n表示小数点以后可以有几位,多出..原创 2021-12-18 15:59:40 · 15427 阅读 · 0 评论 -
Oracle数据库中为什么不全用VARCHAR2类型
1.VARCHAR2虽然比CHAR节省空间,但是假如一个VARCHAR2列经常被修改,而且每次被修改的数据的长度不同,这会引起‘行迁移’(RowMigration)现象,而这会造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用CHAR代替VARCHAR2会更好一些;2.还有就是当我们存储已知固定长度的数据时,比如:手机号(11位)、身份证号码(18位)等,可以考虑使用 char。因为,在查询数据时,对于 char 类型字段,是全字符整体匹配;而 varchar2 是一个字符一个.原创 2021-12-16 22:55:05 · 1016 阅读 · 0 评论 -
Oracle数据中的number数据类型
首先说一下在Oracle中并不存在int数据类型,如果你在创建Oracle数据库表的时候设置了INT类型会自动转成number类型的。number类型呢会有限制:number(m,n) 其中m表示的是最大有效位数为1-38位,而n表示小数点以后的有效位数;例如:number(5,2)则代表最大值为:99999,现在输入一个数是523.523,则数据库会自动截取为523.52。...原创 2021-12-14 09:53:55 · 4774 阅读 · 0 评论 -
sql语句多表连查
连表查寻有多种形式,其中如果是开发人员的话用的最多的应该是join on所以我今天就拿join on 来举个例子首先我先创建五张表好了表已经创建好了 那么就使用join on 查询就好了下面是sql语句就是利用表与表之间的关联字段去查询下面是查询结果...原创 2021-12-04 13:47:52 · 193 阅读 · 0 评论 -
SQL语句如果要求给定的顺序要怎么去写
一般的会让我们按照升序或者降序排序 那就直接order by 字段名 asc/desc 就可以了;但是有时候也会要求我们按照某种给定的顺序来排序,这时候就需要用到一个属性field具体怎么用呢 看例子:假如现在有一个fruit 表现在要求结果按梨、葡萄、西瓜、橘子、柠檬、苹果、香蕉的顺序排序select * from fruit order byfield(tname,'梨','葡萄','西瓜','橘子','柠檬','苹果','香蕉') ASC就可以了。如果帮助...原创 2021-11-26 19:10:22 · 776 阅读 · 0 评论