Mysql
文章平均质量分 87
sutonline
这个作者很懒,什么都没留下…
展开
-
Spring JDBCTemplate事务探索
Spring JDBCTemplate事务探索背景我们应用里有一个获取序列的服务,主要的流程是每次去数据库取号段,然后存储到本地。在数据库取号段的时候使用乐观锁来保证号段的唯一性,如果失败会有重试。交代完服务流程,下面来说一下出现的问题,偶尔会出现重试20次获取的值都一样的问题。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qkVRzpFu-1621487081077)(https://raw.githubusercontent.com/Sutonline/md-i原创 2021-05-20 13:05:46 · 223 阅读 · 1 评论 -
MySQL事务会加锁吗
目标确认MySQL transaction与锁的关系Select…for Update的锁与释放机制MySQL transcation与锁的关系In the InnoDB transaction model, the goal is to combine the best properties of a multi-versioning database with traditional two-phase locking. InnoDB performs locking at the row原创 2021-04-13 14:50:03 · 5186 阅读 · 2 评论 -
Mysql binglog疑问
Mysql binglog疑问一个row-event可以包含多行数据吗?可以,但是会有一个默认的最大限制,row-event尽可能会小于这个size切成段log里记录的是所有的column还是变更的column可以通过变量binlog_row_image查看,默认是full column,全部的列beforeColumns和afterColumns应该怎么取在delete的...翻译 2019-06-11 15:31:29 · 200 阅读 · 0 评论 -
mysql online ddl遇到的问题记录
背景同事在线上执行两条DDL语句的时候,时间相差很大,第一个的DDL甚至执行了5分钟,引起了一些业务报警。而第二个执行了30秒,没有任何报警。于是我们开始讨论了DDL的时候是否会锁表,block住DML。分析经过一番搜索,得到了一下结论。MySQL从5.6版本开始执行了online ddl, 然后在大部分修改column情况下是支持并发的。核心是支持了ALTER时候指定算法,支持INP...原创 2019-01-15 21:45:05 · 388 阅读 · 0 评论 -
mysql 存储emoji表情
mysql 存储emoji表情phenomenon当保存带emoji表情的数据时,mysql提示保存失败。solution更改对应字段的字符集 ALTER TABLE xxx.xx MODIFY COLUMN REMARK varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAUL...原创 2018-07-17 17:36:40 · 160 阅读 · 0 评论 -
mysql一个语句并发问题的思考
mysql一个语句并发问题的思考我们数据库的引擎是innodb这是我们再做并发限制的时候,使用了一个语句insert into xx select .. from xx where yyyy这种形式的语句, 如果表里没有这条记录就添加。在初步考虑的时候,这种情况下如果第一个事务还没提交,那么除非数据库的隔离级别是脏读,否则是读不到的。但是在测试过程中,却发现只有第一个insert会...原创 2018-04-08 18:14:40 · 348 阅读 · 0 评论 -
Mysql 字符串like比较 大小写忽略
Mysql 字符串like比较 大小写忽略在使用mysql 5.6.36时,有一个用例说明了大小写忽略的匹配。记得当时只是写了like进行mysql的匹配,应该做不了case insensitive的。但是事实的确是,在官网上也有说明: 除非设置了特别的比较方法或者是一个二进制的string The following two statements illustrate that string原创 2017-10-23 14:54:54 · 7069 阅读 · 0 评论 -
MySQL存储引擎
MySQL存储引擎 存储引擎是MySQL数据库管理系统的一个重要特征,在具体开发时,为了提高MySQL数据库管理系统的使用效率和灵活性,可以按照实际需要选择存储引擎。因为存储引擎制定了表的类型,即如何存储和索引数据、是否支持事务等,同时存储引擎也决定了表在计算机的存储方式。查看MySQL支持的存储引擎.(\G的作用可以使用命令help查看) show engines \G 输出:原创 2016-04-24 15:40:28 · 507 阅读 · 0 评论 -
MySQL数据库介绍及基本操作
MySQL数据库介绍及基本操作 MySQL数据库分为两种类型,系统数据库和用户数据库两大类。系统数据库 系统数据库是指安装MySQL服务后,附带的一些数据库,保存mysql的系统信息。用户不能直接修改这些数据库。information_schema:主要存储系统中的一些数据库对象信息,如用户表信息、列信息、权限信息、字符集信息和分区信息等。performance_schema:主要存储数据库原创 2016-04-24 15:05:33 · 728 阅读 · 0 评论 -
MySQL安装.md
从为知笔记导出来的文件都不可用,markdown让我好郁闷….原创 2016-04-23 12:54:48 · 299 阅读 · 0 评论 -
Mysql介绍
Mysql介绍Mysql分为社区版(Community)和商业版(Enterprise)。Mysql社区版免费且能自由下载 商业版不能自由下载,并且需要付费。提供服务及更多功能常见的版本有: * GA(General Avaiable):官方推荐广泛使用版本。 * RC(Release Candidate):正式版比较接近的版本,候选版本。 * Alpha:指内测版本 * Bean:公原创 2016-04-23 10:41:54 · 732 阅读 · 0 评论 -
mysql函数总结
MySQL函数集绝对值函数ABS(x),返回x的绝对值。 返回圆周率的函数PI() 平方根函数SQRT(x)求余函数MOD(x,y)获取整数的函数CEIL(x)、CEILING(x)和FLOOR(x) select ceil(-3.35),ceiling(3.35),floor(3.35); 输出: -3 4 3 获取随机数的函数RAND()和RAND(X) ra原创 2016-04-26 22:56:02 · 589 阅读 · 0 评论 -
MySQL存储过程的异常定义及处理
MySQL存储过程的异常定义及处理定义异常. Declare condition_name CONDITION FOR [condition type] [condition type]: SQLSTATE [VALUE] sqlstate_value|mysql error_code,其中sqlstate_value和mysql error code都可以表示MySQL错误, sqlst原创 2016-04-26 21:41:53 · 2505 阅读 · 0 评论 -
MySQL创建存储过程
MySQL创建存储过程drop procedure test_add if exists;-- 创建存储过程(不可以使用create or replace)create procedure test_add( a INT, b INT)BEGIN declare c int; if a is null then set a = 0; end if;原创 2016-04-26 21:10:07 · 324 阅读 · 0 评论 -
MySQL操作命令及运算符
MySQL操作命令及运算符查看表创建结构 show create table table_name \G; 更改表的存储引擎 alter table table_name engine=xxx; 删除表的外键约束 alter table table_name drop foreign key <外键约束名> 删除表 drop table [IF EXISTS] 表1,表2,原创 2016-04-25 22:00:27 · 376 阅读 · 0 评论 -
如何更改workbench的快捷键
如何更改workbench的快捷键navicat不能自定义快捷键,workbench支持,但是比较麻烦。需要去workbench的安装目录下,找到data目录,然后编辑main_menu.xml文件,重启workbench。<value type="object" struct-name="app.MenuItem" id="com.mysql.wb.menu.query.exec">原创 2016-04-25 20:29:23 · 3614 阅读 · 0 评论 -
MySQL中类型比较
MySQL中类型比较Numeric vs Decimal 首先看官方的解释: The DECIMAL and NUMERIC types store exact numeric data values. These types are used when it is important to preserve exact precision, for example with monetar原创 2016-04-25 19:54:46 · 430 阅读 · 0 评论