随笔分类 -  数据库

摘要:问题背景 最近生产环境经常有报警,原因在于数据库中同一条任务被连续消费了2次。我们的任务是存到mysql数据库中的,其实为了避免分布式多实例环境下同一个任务被消费两次,我使用了mysql乐观锁的方式。但是根据日志查看,确实有任务被连续消费了两次。 问题分析 1、mysql乐观锁失效? 分析:其实my 阅读全文
posted @ 2020-04-25 17:19 得记点什么了 阅读(338) 评论(0) 推荐(0)
摘要:01 索引类型 索引类型分为 NORMAL:这是最基本的索引,它没有任何限制,默认的BTREE类型的索引,是我们大多数情况下用到的索引。 UNIQUE:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复。例如身份证号用作索引时,可设置为unique。Unique(要求列唯一)和Primary 阅读全文
posted @ 2020-02-02 15:18 得记点什么了 阅读(207) 评论(0) 推荐(0)
摘要:01 引擎选择 目前广泛使用的是MyISAM和InnoDB两种引擎: MyISAMMyISAM引擎是MySQL 5.1及之前版本的默认引擎,它的特点是: 不支持行锁,读取时对需要读到的所有表加锁,写入时则对表加排它锁 不支持事务 不支持外键 不支持崩溃后的安全恢复 在表有读取查询的同时,支持往表中插 阅读全文
posted @ 2020-02-02 13:03 得记点什么了 阅读(153) 评论(0) 推荐(0)
摘要:01 选取最适用的字段属性 使用枚举或整数代替字符串类型,比如性别、省份这些字段尽量定义成ENUM。(ENUM会被当做数值型处理,要快很多) 表字段避免null值出现,null值很难查询优化且占用额外的索引空间,推荐默认数字0代替null。 尽量使用INT而非BIGINT,如果非负则加上UNSIGN 阅读全文
posted @ 2020-02-02 11:11 得记点什么了 阅读(291) 评论(0) 推荐(0)