DB
文章平均质量分 93
数据库
开心的小尾叭
这个作者很懒,什么都没留下…
展开
-
mybatis中的#{}与${}在原理上的区别
一、MyBatis中${}和#{}的区别1.1 ${}和#{}演示数据库数据:dao接口:List<User> findByUsername(String username);List<User> findByUsername2(String username);Mapper.xml:<!-- 使用#{} --><select id="findByUsername" parameterType="java.lang.String" result原创 2022-02-14 10:57:18 · 419 阅读 · 0 评论 -
MYsql隔离级别问题和解决方案,Spring的七大传播机制
读未提交:所有在buffer pool 的数据可见读已提交:会发生前后读到的数据不一致:解决方案:加行锁的共享锁(读锁)MVCC,查到行记录的事务结束id不为空的数据。可重复读:会引起幻读,前面查到的范围数据,再次操作会报错,加间隙锁+行锁,mvcc,可查到在该事务开始时,已经完成事务(事务ID不为空)的数据。串行化...原创 2020-09-18 10:04:20 · 220 阅读 · 0 评论 -
MySql事务原理
MySQL执行过程先根据sql语句,如果该Sql不关联唯一索引和(insert、update、delete)都不涉及唯一索引,写多读少的业务(账单类、日志类)mysql会把sql 维护到 change buffer 池中,把changge buffer 加载到redo log buffer ,持久化到磁盘(顺序写-快)redo log,后台merge过程,待需要读时,或者必须唯一索引更新时,会把从磁盘读取到 buffer pool 中的数据结合change buffer ,提交事务,返回结果。根据sql原创 2020-09-17 13:42:16 · 153 阅读 · 0 评论 -
mysql查询参数
show global variables like '%binlog_format%';##查看版本select version();show engines;##默认数据库引擎show variables like '%engine%';##事务隔离级别show variables like '%TRANSACTION_isolation%';show global variables like "tx_isolation";##会话级别参数 ,是否自动提交show var原创 2020-09-16 16:34:07 · 205 阅读 · 0 评论 -
Mysql自定义Sequence-实现序列自增功能
CREATE TABLE `sequence` ( `name` varchar(50) COLLATE utf8_bin NOT NULL COMMENT '序列的名字', `current_value` int(11) NOT NULL COMMENT '序列的当前值', `increment` int(11) NOT NULL DEFAULT '1' COMMENT '序列的自增值', PRIMARY KEY (`name`)) ENGINE=InnoDB DEFAULT CHARS原创 2020-08-19 09:57:02 · 255 阅读 · 0 评论 -
mysql事务原理
mysql间隙锁https://blog.csdn.net/suixinsuoyu12519/article/details/86505388mysql RR 与RC mvcchttps://www.cnblogs.com/digdeep/archive/2015/11/16/4968453.html原创 2020-08-05 15:18:03 · 138 阅读 · 0 评论 -
MySQL半一致性读导致语句级Binlog复制错误1111
MySQL事务的隔离级别为read committed(或以下),或者设置了innodb_locks_unsafe_for_binlog参数会启用半一致性读特性。半一致性读参考: http://www.linuxidc.com/Linux/2017-02/140844.htmMySQL官方文档refman-5.6-en.a4.pdf 1833页 关于innodb_locks_unsafe_for_binlog参数对于半一致性读,我感觉一个是违反两阶段锁,将不符合条件记录的行级锁提前释放。另一个是Upd原创 2020-08-05 14:32:20 · 379 阅读 · 0 评论 -
count(1)与count(id)与count(*)效率,以及覆盖索引,索引下推
select count(*)和select count(1)的区别:一般情况下,Select Count (*)和Select Count(1)两着返回结果是一样的,假如表没有主键(Primary key), 那么count(1)比count(*)快,如果有主键的话,那主键作为count的条件时候count(主键)最快,如果你的表只有一个字段的话那count(*)就是最快的count(1) > count() > count(主键id) > count(带索引column) &g原创 2020-05-11 16:15:42 · 1005 阅读 · 0 评论 -
redis实现布隆过滤器
package com.jmdf.world;import com.google.common.hash.Funnels;import com.google.common.hash.Hashing;import org.springframework.context.annotation.Bean;import org.springframework.stereotype.Compone...原创 2020-04-26 18:06:56 · 220 阅读 · 0 评论 -
won10 mysql 5.7.22主从同步
从mysql官网历史版本下载mysql5.7.22版本的解压版mysql历史版本地址:解压:管理员:D:\mysql\mysql-5.7\bin>mysqld --initializeD:\mysql\mysql-5.7\bin>mysqld --installD:\mysql\mysql-5.7\bin>net start mysqlD:\mysql\mysql...原创 2020-04-12 18:44:04 · 124 阅读 · 0 评论 -
安装windowx64-mysql
Windows下安装MySQL详细教程1、安装包下载2、安装教程(1)配置环境变量(2)生成data文件(3)安装MySQL(4)启动服务(5)登录MySQL(6)查询用户密码(7)设置修改用户密码(8)退出3、解决问题1、安装包下载。下载地址:https://dev.mysql.com/downloads/mysql/点击下载之后,可以选择注册Oracle账号,也...原创 2020-04-08 13:42:24 · 385 阅读 · 0 评论 -
复合索引失效的几种情况
1、违背最左缀原则:a、b、c建立索引有效索引:① a②a,b③a,b,c解释:复合索引建立的存储结构,第二个是依赖于在第一个索引使用的基础上,以此类推。2、like模糊查询,使用最左精确匹配l ike ‘name%’ ,其他方式全表扫描。3、条件查询中使用 OR、> 、<、!=、between and、where age+1=10、 where name is nul...原创 2020-02-16 11:52:53 · 3839 阅读 · 0 评论 -
库存超卖的解决方案
update sku_info set kc = kc -1 where sku_id = ? and kc >0;在高并发下,多人抢同一库存,由于数据库读写可以并行执行的原因,会导致修改库存时,库存不足出现超卖。悲观锁解决:在select加一个行锁,与更新库存操作互斥,保证查询库存时,库存不被修改(在查询和更新库存之间的时间,不被别的线程修改库存。)乐观锁解决:在select时...原创 2019-11-15 11:14:17 · 2005 阅读 · 0 评论 -
批处理batch
db.propertiesmysqlDriver=com.mysql.jdbc.DrivermysqlURL=jdbc\:mysql\://localhost\:3306/mydb?characterEncoding\=utf-8mysqlUser=rootmysqlPwd=rootJDBCUtilspackage com.jmdf.jdbc;import java.io.IOE...原创 2019-11-14 21:25:17 · 277 阅读 · 0 评论 -
SQL语句中----删除表数据drop、truncate和delete的用法
一、SQL中的语法1、drop table 表名称 eg: drop table dbo.Sys_Test2、truncate table 表名称 eg: truncate table dbo.Sys_Test3、delete from 表名称 where 列名称 = 值 eg: delet...原创 2019-11-14 20:49:21 · 155 阅读 · 0 评论 -
Mysql索引小结
建表语句:CREATE TABLE `t_user` ( `id` BIGINT(20) NOT NULL AUTO_INCREMENT, `bu_id` INT(20) NOT NULL, `name` VARCHAR(255) NOT NULL, `age` INT(11) NOT NULL, `sex` VARCHAR(255) NULL DEFAULT NULL, PRIMA...原创 2019-10-23 22:36:37 · 111 阅读 · 0 评论 -
Mysql优化
待…原创 2019-09-25 16:55:02 · 81 阅读 · 0 评论 -
存储过程And游标
-----无参数游标----declare --游标 cursor vrows is select * from emp; --声明变量,记录一行数据。 vrow emp%rowtype;begin --打开游标 open vrows; --从游标提取数据 --循环取数据 loop fetch vrows into vrow; exi...原创 2019-09-25 16:41:12 · 208 阅读 · 0 评论