DB
0li0
这个作者很懒,什么都没留下…
展开
-
MYSQL两种引擎:InnoDB和MYISAM主要区别和选择考虑点
mysql数据库中常见的两种引擎分别是InnoDB和MYISAM,mysql默认使用MYISAM,两者的主要区别和选择考虑点都是需要注意,如果是面试的时候也经常会问到。 简单来讲,MYISAM比较粗暴,InnoDB比较精细。具体体现在哪些方面呢?主要如下: MYISAM只有表锁,一锁就锁整张表,非常的粗暴;InnoDB支持表锁和行锁,提供更加细粒度的控制,支持外键约束 MYISAM不支持事务,I...原创 2019-04-26 17:45:08 · 278 阅读 · 0 评论 -
数据库新增列遇到的问题
难免会遇到线上环境数据表需要新增列的情况,如果的大表新增列的情况下,那就需要谨慎,新增列可能会导致长时间锁表,影响线上访问。 以下是我遇到的数据库表新增列的情况(数据库名和表名用DB1和TABLE1代替),数据库为ORACLE,为新增列时做的测试,总共三种类型的语句: 新增列,但不设置默认值 新增列,设置默认值 新增列,设置默认值,并且设置新增列值为NOT NULL 以下为抽取出的各个语句执行...原创 2019-04-24 15:49:58 · 911 阅读 · 0 评论 -
为什么不要用select *
主要从以下几个角度: 1. 程序变更问题,出现不可以预知隐患; 假设某一天修改了表结构,如果用select *,返回的数据必然会会变化,客户端是否对数据库变化作适配,是否所有地方都做了适配,这都是问题。 2. 性能问题 a. 使用了select ,必然导致数据库需要先解析代表哪写字段,从数据字段中将*转化为具体的字段含义,存在性能开销; b. 不可能对所有字段建索引,在索引优化必然会有局限性,导致...原创 2019-06-28 10:25:07 · 4294 阅读 · 4 评论