数据库学习
文章平均质量分 93
西木风落
多年开发经验,专业、高效,致力于更好的自己
展开
-
常见Java内存数据库比较
在常见的Java应用项目中,通常会有需求将数据保存到DB中。但实际环境中,受到服务器资源限制或者网络限制等因素,无法为项目提供DB资源。比如:项目研发初期本地调试运行阶段,无法连接公司有网络访问控制的DB;项目单元测试阶段,单测数据与正常测试数据污染隔离,清理测试库效率较低;开发初学者用自己电脑运行程序,但又不想在本地安装MySQL导致电脑运行较慢;公有云ECS服务器资源受限;...原创 2022-07-10 00:04:37 · 4119 阅读 · 0 评论 -
MySQL数据库主从复制
数据复制原理Master将改变记录到二进制日志(binary log)中,Slave将Master的二进制日志文件拷贝到它的中继日志(relay log),Slave重做中继日志(relay log)中的事件。那么,Master的变化,Slave也会变化,这样就是所谓的MYSQL的复制,即MYSQL replication。值得注意的是,通过上面的机制,可以保证Master和Slave的数原创 2016-10-11 14:24:05 · 737 阅读 · 0 评论 -
MySQL实战——Schema与数据类型优化
1. 如何选取Schema的数据类型MySql支持的数据类型非常多,选择正确的数据类型对于获取高性能至关重要。数据类型的选取原则:1) 更小的通常更好。更小的数据类型通常更快,因为占用更小的磁盘空间、内存和CPU缓存,并且处理需要的CPU周期更少; 2)简单就好。简单的数据类型通常需要更少的CPU周期,比如,整型比字符串代价更低,内建的日期类型比字符串存储日期和时间更好; 3)尽量避免...原创 2019-05-26 22:09:33 · 326 阅读 · 0 评论 -
MySQL索引
一、什么是索引数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引按照不同的维度分为:数据结构 B+树,Hash索引,R-Tree等 存储层面 聚簇索引、非聚簇索引 逻辑层面 主键索引、普通索引、复合索引、唯一索引、全文索引等 1、什么是B+树二叉查询树:任意节点,它的左子树如果不为空,那么左子树上所有节点...原创 2016-10-22 15:49:30 · 319 阅读 · 0 评论 -
MySQL事务实现与锁
mysql 事务特性MySQL事务隔离级别MySQL锁实现MySQL事务实现机制MySQL 日志区别原创 2020-02-24 14:23:01 · 616 阅读 · 0 评论 -
MySQL插入千万级记录
场景: 当产品中需要对用户进行过滤的时候,需要对用户添加白名单。如果一次需要导入千万级的用户量,普通的SQL插入/更新耗时长久,执行效率低下。为加快数据库的插入效率,需要对程序和数据库设置进行优化。原创 2017-05-01 22:36:14 · 5311 阅读 · 2 评论 -
MySQL语句执行过程
MySQL insert/update执行过程原创 2022-03-13 20:48:37 · 1227 阅读 · 0 评论 -
MySQL数据库开发规范
mysql开发规范本身也包含几部分:基本命名和约束规范,字段设计规范,索引规范,使用规范。转载 2016-10-12 11:49:32 · 1454 阅读 · 0 评论 -
MySQL存储引擎
mysql 存储引擎原创 2019-07-17 00:05:03 · 417 阅读 · 0 评论 -
centos7 安装mariadb
1. 为什么安装mariadbMariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。 MariaDB目的是完全兼容MySQL,包括API和命令行,她们有相同的命令、界面,以及在MySQL中的库与API,所以MariaDB可以说是为替换MySQL量身定做的,换用后连数据库都不必转换!并可以获得MariaDB提供的许多更好的新特性。官网参见:MariaDB简介 - MariaDB Knowledge BaseMonty Program提供MariaDB...原创 2022-03-12 22:19:26 · 5894 阅读 · 1 评论 -
MySql为什么不推荐使用UUID做主键
设计MySQL数据库表的时候,一定会考虑主键的设计。mysql官方推荐不要使用uuid或者不连续不重复的雪花id,推荐连续自增的主键id,官方的推荐是auto_increment。为什么不建议采用uuid,使用uuid究竟有什么坏处?如果设计表不设置主键,MySQL官方有以下说明:If you do not define aPRIMARY KEYfor your table, MySQL picks the firstUNIQUEindex that has onlyNOT NULLc...原创 2022-03-11 17:19:15 · 11798 阅读 · 15 评论 -
MySQL面试全帮手
系统总结分析了MySQL面试要求,希望对大家有用。参考信息: https://juejin.im/post/5c6b9c09f265da2d8a55a855原创 2019-02-19 16:55:33 · 346 阅读 · 0 评论 -
基于snowflake的Id序列号生成器
背景在分布式微服务系统中,通常需要全局唯一的序列号,需求实现简单高效,通常的做法可以用数据库的自增id,UUID生成等。但数据库自增id局限在于依赖于数据库表,在效率上有所折扣,尤其是高并发量的场景。而UUID一般比较长,关键是无序的。twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移到Cassandra,因为Cassandra没有顺序ID生成机制,...原创 2018-11-17 11:42:15 · 1419 阅读 · 0 评论 -
分布式事务原理及解决方案
XA事务模型下,2PC和3PC事务提交。CAP不完美情况下BASE解决方案。TCC事务解决方案&Sega解决方案&MQ解决方案原创 2018-11-20 21:39:14 · 751 阅读 · 1 评论 -
MyBatis SQL语句参数注解详释
在Mybatis写SQL语句的时候,避免不了参数的传入。通常情况下,参数的传入可以分为两大类:1、使用@Param注解2、不使用@Param注解下面详细介绍这两种方式的参数传递规则:一、不使用@Param注解 1、接口方法只有一个参数 1) 参数为基本类型或为基本包装类型(int,Integer,String...) 参数注释为: #{任意...原创 2016-08-23 16:53:30 · 2258 阅读 · 0 评论