随笔 - 203  文章 - 0  评论 - 18  阅读 - 24万 

随笔分类 -  mysql

多线程环境下的 sql 事务问题
摘要:背景介绍 1,最近有一个大数据量插入的操作入库的业务场景,需要先做一些其他修改操作,然后在执行插入操作,由于插入数据可能会很多,用到多线程去拆分数据并行处理来提高响应时间,如果有一个线程执行失败,则全部回滚。 2,在spring中可以使用@Transactional注解去控制事务,使出现异常时会进行 阅读全文
posted @ 2022-04-01 10:49 幂次方 阅读(733) 评论(0) 推荐(0) 编辑
存 IP 地址,用什么数据类型比较好?
摘要:在看高性能MySQL第3版(4.1.7节)时,作者建议当存储IPv4地址时,应该使用32位的无符号整数(UNSIGNED INT)来存储IP地址,而不是使用字符串。 但是没有给出具体原因。为了搞清楚这个原因,查了一些资料,记录下来。相对字符串存储,使用无符号整数来存储有如下的好处: 节省空间,不管是 阅读全文
posted @ 2022-03-07 13:47 幂次方 阅读(100) 评论(0) 推荐(0) 编辑
【优化】记录一次方法性能优化
摘要:背景: 程序总体设计: 系统先从数据库 A 表中取出数据(步骤 1),放入 B 库中的表里(步骤 2); 在从 B库中的表里取出数据(步骤 3),经过层层的规则校验,再放回 B 库中的表中; 速度优化原因: 原本:方法使用单线程的方式;校验产品是否符合条件通过远程调用的方式;每次批处理调价数据是50 阅读全文
posted @ 2021-10-20 11:35 幂次方 阅读(76) 评论(0) 推荐(0) 编辑
contos7下docker安装MySQL,MySQL开启远程连接,MySQL新建数据库,MySQL新建用户并授权
摘要:一、docker获取MySQL5.7镜像并运行容器 获取指定的镜像MySQL5.7: docker pull mysql:5.7 查看镜像: docker images 运行镜像下载的镜像构建MySQL容器: docker run --name mysql5.7 -p 3306:3306 -e MY 阅读全文
posted @ 2021-03-10 14:12 幂次方 阅读(885) 评论(0) 推荐(0) 编辑
mysql的SQL使用记录
摘要:一、修改安全连接模式 show variables like 'sql_safe_updates';set sql_safe_updates = 0;show variables like 'sql_safe_updates'; 二、备份数据 create table t_book_lzg_01 s 阅读全文
posted @ 2021-03-04 16:10 幂次方 阅读(99) 评论(0) 推荐(0) 编辑
MySQL中order by 与 limit 同用会查出重复的数据
摘要:结论: 如果多行在列中具有相同的值ORDER BY,则服务器可以自由以任何顺序返回这些行,并且根据整体执行计划,这样做的方式可能有所不同。换句话说,这些行的排序顺序相对于无序列是不确定的。 验证: 建表语句: CREATE TABLE `test_limit` ( `id` int(11) NOT 阅读全文
posted @ 2021-02-04 15:09 幂次方 阅读(637) 评论(0) 推荐(0) 编辑
必须了解的MySQL三大日志:binlog、redo log和undo log
摘要:日志是mysql数据库的重要组成部分,记录着数据库运行期间各种状态信息。mysql日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。作为开发,我们重点需要关注的是二进制日志(binlog)和事务日志(包括redo log和undo log),本文接下来会详细介绍这三种日志。 b 阅读全文
posted @ 2020-08-23 20:50 幂次方 阅读(620) 评论(0) 推荐(0) 编辑
redis缓存数据一致性解决方案
摘要:缓存数据一致性一般是两种解决方案 双写模式 做法顺序:先写数据库,再写缓存 并发性的问题: 由于卡顿等原因,导致写缓存2在最前,写缓存1在后面就出现了不一致 脏数据问题: 这是暂时性的脏数据问题,但是在数据稳定,缓存过期以后,又能得到最新的正确数据 读到的最新数据有延迟:最终一致性 失效模式 做法顺 阅读全文
posted @ 2020-07-09 22:06 幂次方 阅读(12038) 评论(1) 推荐(1) 编辑
mysql索引的创建,测试,使用
摘要:1、分类 MySQL索引分为普通索引、唯一索引、主键索引、组合索引、全文索引。 索引不会包含有null值的列,索引项可以为null(唯一索引、组合索引等),但是只要列中有null值就不会被包含在索引中。 (0)创建表: create table test( id1 int , id2 int, id 阅读全文
posted @ 2020-07-03 11:17 幂次方 阅读(259) 评论(0) 推荐(0) 编辑
explain字段解释
摘要:explain字段解释 EXPLAIN列的解释: table:显示这一行的数据是关于哪张表的 type:这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型为const、eq_reg、ref、range、indexhe和ALL possible_keys:显示可能应用在这张表中的索引。如果为 阅读全文
posted @ 2020-07-03 11:15 幂次方 阅读(938) 评论(0) 推荐(0) 编辑
mysql何时使用组合索引
摘要:create table test( id1 int , id2 int, id3 int, id4 int, key index_id12(id1,id2)); 用到索引explain select * from test where id1 < 10;用到索引explain select * f 阅读全文
posted @ 2020-07-03 11:00 幂次方 阅读(449) 评论(0) 推荐(0) 编辑
删除表数据drop、truncate和delete的解释
摘要:老大 drop 出没场合:drop table tb_name --tb_name表示数据表的名字 能力:删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表(项目一般不会用) (清空并删除一张表,释放其空间) 老二 truncate 出没场合:truncat 阅读全文
posted @ 2020-06-01 10:04 幂次方 阅读(322) 评论(0) 推荐(0) 编辑
BigDecimal一定不会丢失精度吗?
摘要:举例: System.out.println(0.05 + 0.01); System.out.println(1.0 - 0.42); System.out.println(4.015 * 100); System.out.println(123.3 / 100);输出:0.06000000000 阅读全文
posted @ 2020-05-24 15:13 幂次方 阅读(1325) 评论(0) 推荐(0) 编辑
MySQL—2、B-Tree,B+Tree,聚集索引,非聚集索引
摘要:B-Tree 索引是 MySQL 数据库中使用最为频繁的索引类型,除了 Archive 存储引擎之外的其他所有的存储引擎都支持 B-Tree 索引。不仅仅在 MySQL 中是如此,实际上在其他的很多数据库管理系统中B-Tree 索引也同样是作为最主要的索引类型,这主要是因为B-Tree 索引的存储结 阅读全文
posted @ 2020-05-18 15:24 幂次方 阅读(702) 评论(2) 推荐(0) 编辑
InnoDB中的意向锁,不与行级锁冲突的表级锁
该文被密码保护。
posted @ 2020-04-15 09:43 幂次方 阅读(0) 评论(0) 推荐(0) 编辑
Sql 语句中 in和 exists的区别及应用
摘要:演示demo表: student表 DROP TABLE IF EXISTS `student`; CREATE TABLE `student` ( `stuid` varchar(16) NOT NULL COMMENT '学号', `stunm` varchar(20) NOT NULL COM 阅读全文
posted @ 2020-04-13 16:32 幂次方 阅读(284) 评论(0) 推荐(0) 编辑
如何避免 sql 注入
摘要:PreparedStatement(简单又有效的方法) 例如: 最终执行的sql语句打印出来是SELECT * FROM admin WHERE username = '韦小宝' AND password = '\';DROP TABLE tableName;#' 从以上截图就能看出来,由此可见,p 阅读全文
posted @ 2020-04-11 22:35 幂次方 阅读(848) 评论(0) 推荐(0) 编辑
Mysql的事务实现原理
摘要:事务想要做到什么效果? 按我理解,无非是要做到可靠性以及并发处理。 可靠性:数据库要保证当insert或update操作时抛异常或者数据库crash的时候需要保障数据的操作前后的一致,想要做到这个,我需要知道我修改之前和修改之后的状态,所以就有了undo log和redo log。 并发处理:也就是 阅读全文
posted @ 2020-04-05 16:17 幂次方 阅读(1305) 评论(0) 推荐(3) 编辑
mysql查询性能优化(持续更新)
摘要:查询大数据表的优化: 操作: 查询条件放到子查询中,子查询只查主键ID,然后使用子查询中确定的主键关联查询其他的属性字段; 原理: 减少回表操作; -- 优化前SQL,要17S SELECT 各种字段 FROM`table_name` WHERE 各种条件 LIMIT0,10; -- 优化后SQL, 阅读全文
posted @ 2020-04-04 21:04 幂次方 阅读(363) 评论(0) 推荐(0) 编辑
复制表结构和数据SQL语句
摘要:1.复制表结构及数据到新表 CREATE TABLE 新表 SELECT * FROM 旧表 2.只复制表结构到新表 CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2 即:让WHERE条件不成立. 3.复制旧表的数据到新表(假设两个表结构一样) INSERT IN 阅读全文
posted @ 2020-03-27 09:38 幂次方 阅读(605) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示