mysql
hq091117
这个作者很懒,什么都没留下…
展开
-
数据迁移利器-Kettle
数据迁移利器-Kettle转载 2022-09-29 11:26:15 · 126 阅读 · 0 评论 -
mybatis总结
mybatis源码分析学习总结原创 2021-12-14 17:38:47 · 560 阅读 · 1 评论 -
mysql 连表更新
update mtl_settle_diff_header_all b,mtl_delivery_order_headers_all a set b.customer = a.seller_name whereb.out_stock_no = a.order_no andb.settle_type = 0 and b.settle_status = 0原创 2021-07-02 16:47:48 · 298 阅读 · 0 评论 -
springBoot配置多个数据源
有时候项目不止只有一个数据库,可能需要有多个,根据需要切换准备1,新建一个springBoot项目,用idea新建很方便,不多说,pom文件的包引入<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoc转载 2020-06-14 10:09:36 · 846 阅读 · 0 评论 -
2020-010-07 工作遇到的mysql一个字段包含另外一个字段
今天要查一个东西,就是两个字段,一个字段是城市,一个字段是地址,现在要查处城市与地址中包含的城市不一致的,就是一个字段包含另外一个字段的值的问题:SELECT a.order_code,a.order_type,a.order_status,a.businessSystem,b.car_vin,a.express_recipient_city_name,a.express_recipient_...原创 2020-01-07 18:37:57 · 1335 阅读 · 0 评论 -
2019-11-26 sql频繁超时的多种坑,有几个还解决不了
1,like ‘%**%’ 和where 条件里使用 orWHERE t.is_deleted = 0 AND (t2.invoice_num LIKE '%LGBL4AE04JD072192%' OR t2.detail_spec LIKE '%LGBL4AE04JD072192%' OR t2.vin LIKE '%LGBL4AE04JD072192%' OR t.uniqu...原创 2019-11-26 15:00:21 · 389 阅读 · 0 评论 -
mysql实战45讲(37-38-39-41-42)
37 内部临时表的使用1,union使用临时表union语义:取两个子查询结果的并集。union all语义:取两个子查询的合集,重复的也没关系union的执行过程中有使用到临时表,因为要去重,union all不需要临时表2,group by 执行流程在 Extra 字段里面,我们可以看到三个信息:Using index,表示这个语句使用了覆盖索引,选择了索引 a,不...原创 2020-03-23 20:44:58 · 224 阅读 · 0 评论 -
mysql实战45讲(23-26)
mysql实战45讲学习笔记23 mysql保证数据不丢失23.1,binlog的写入逻辑:事务执行过程中,先把日志写到binlog cache中,事务提交的时候,再把cache写到binlog文件中。注意:事务不管多大,都一次性写入,binlog cache是私有的,每个线程有自己的cache,但是公用一份binlog文件。参数binlog_cache_size控制单个线程cache...原创 2019-11-12 16:39:45 · 251 阅读 · 0 评论 -
mysql实战45讲(15-22)
mysql实战45讲学习笔记15 日志与索引的关系15.1 日志1,分析一下在两阶段提交的不同时刻,MySQL 异常重启会出现什么现象。如果在图中时刻 A 的地方,也就是写入 redo log 处于 prepare 阶段之后、写 binlog 之前,发生了崩溃(crash),由于此时 binlog 还没写,redo log 也还没提交,所以崩溃恢复的时候,这个事务会回滚。这时候,b...原创 2019-10-31 15:48:26 · 260 阅读 · 0 评论 -
2019-10-25 sql的in()里面数据太多怎么办
问题:项目里一直有个问题,就是sql查询一张表(t)需要根据用户公司权限,而用户公司权限的值是根据接口从另外一个项目查询过来的,(公司权限,因为有很多分公司,用户可能有很多公司的权限,就是拥有这些公司的id)当然表(t)里的记录都有对应哪家公司的id,所以查询记录的时候会带上公司id,当有些用户拥有几百家公司id的话,那这个sql里的id in(几百个),这样查询效率超级差,因为我们知道in本...原创 2019-11-12 16:40:12 · 12927 阅读 · 3 评论 -
mysql实战45讲(09-14)笔记
仅仅是笔记,用于自己理解09 普通索引与唯一索引查询过程对于普通索引,查找到满足条件的第一个记录,需要查找下一个记录,直到碰到第一个不满足条件的记录。对于唯一索引,由于索引定义了唯一性,查找到第一个满足条件的记录,就会停止继续检索。其实这两种的性能差距几乎没有,innodb的数据是按数据页为单位来读写的,数据页默认16kb,更新过程概念:change buffer当...原创 2019-10-23 11:45:39 · 289 阅读 · 0 评论 -
mysql实战45讲(01-08)基础篇笔记
仅仅是笔记,用于自己理解01mysql结构02 日志(redo log(重做日志)和 binlog(归档日志))2.1 Redolog(innodb独有的):WAL技术(write-ahead-logging):先写日志,再写磁盘,mysql会先记录日志更新内存,然后就算成功了,等空闲的时候再写磁盘。redolog有固定大小的,循环记录,满了会更新掉。Redo log不是...原创 2019-10-23 11:41:55 · 282 阅读 · 0 评论 -
高性能mysql学习笔记--总结
至此,高性能mysql基本看完,对于个人来说帮助还是很大的,后面还有备份恢复,mysql工具没去看,备份其实前面好几章都是有做备份的介绍,就懒的看了,mysql工具更是,平时很少用就不看了,当然这次只是粗略的看一遍,笔记也是基本摘抄个人觉得每一章每一节比较重要的内容,没什么自己思考的东西,个人觉得还是很有必要看第二遍第三遍的,这本书也值得看几遍。目前下来,个人觉得本书重要的章节有5,6,7,这...原创 2019-09-09 14:54:51 · 342 阅读 · 0 评论 -
高性能mysql学习笔记--高可用与应用层优化
十二:高可用mysql理解可用性最好的方法就是研究它的反面-宕机时间12.3 如何实现高可用性1,避免宕机,2,尽快快速恢复3.1提升平均失效时间3.2 降低平均恢复时间4,避免单点失效4.1 共享存储或磁盘复制共享存储能够为数据库服务和存储解耦合。通常使用的是san,使用共享存储时,服务器能够正常挂载文件系统并进行操作,如果服务器挂了,备用服务器可以挂载相同的文件系统。优点:...原创 2019-09-09 14:42:16 · 248 阅读 · 0 评论 -
日常遇到mysql小问题汇总
根据字段查询表:SELECT table_name, column_name from information_schema.columns WHERE column_name LIKE 'DepartID'; 视图: CREATE ALGORITHM=UNDEFINED DEFINER=`xoops_root`@`127.0.0.1` VIEW `v_form_number`...原创 2018-01-26 14:50:54 · 644 阅读 · 0 评论 -
mysql的group by的5.7之前和5.7之后的版本问题
所以如图SQL,e.project_name as projectName是不能写在SQL里的,如果需要则要加层,原创 2018-04-17 11:26:07 · 1030 阅读 · 0 评论 -
mysql 时间戳与时间转换函数
数据库存的是时间戳,但是页面需要显示时间,所以使用MYSQL自带的函数FROM_UNIXTIME(unix_timestamp,format)。举例:select FROM_UNIXTIME(1364176514656/1000,'%Y-%m-%d %h:%i:%s')as date ;结果为:2013-03-25 09:55:15其中unix_timestamp为字段值/...转载 2018-11-20 13:33:29 · 744 阅读 · 0 评论 -
mysql事务的坑----MyISAM表类型不支持事务操作
最近需要通过JDBC对数据库做事务型操作,实践时发现,并没有达到想要的效果,表现在:1、每次执行executeUpdate()后,数据就马上能在DB中查到。但按理来说,我还没执行commit(),DB中不应该有这个数据;2、执行rollback()时,数据也没回滚。定位问题后,发现是数据库表类型在作祟:当时设定的“表类型”为MyISAM,而这种类型,是不支持事务操作的。能够支持事务操作的表...原创 2018-11-28 15:51:49 · 9747 阅读 · 0 评论 -
mysql jdbc的ResultSet结果集,数字类型的null取出后为0
工作上用ResultSet时碰到的,数据库里面的int,decimal等类型的字段值为null, 通过jdbc的ResultSet的getInt("x")或者getDouble("x")取出来之后是null吗,并不是,之前并没有太在意,一直以为取出来应该是null,后来偶然发现居然不是null,是0。。 然后就好奇,查了下为什么会是0。先翻了下api,看了下ResultSet接口的getI...转载 2018-12-07 13:29:06 · 1418 阅读 · 2 评论 -
2019-06-28 mysql 循环执行sql
//定义结束符delimiter $$//如果已经有pre函数则删除drop procedure if exists pre; //创建pre函数CREATE PROCEDURE pre ( ) BEGIN//定义i DECLARE i INT; //起始值 SET i = 1000; WHILE //循环 i < 1095 DO ...原创 2019-06-28 15:48:26 · 885 阅读 · 0 评论 -
2019-07-25 记录一个bug,插入更新sql-ON DUPLICATE KEY UPDATE
以前没写过ON DUPLICATE KEY UPDATE,写了一个插入更新,写错了,把ON DUPLICATE KEY UPDATE写在for循环里,也没写values,不知道为啥之前没测试出来,赶紧记录一下错误: <foreach collection="list" index="index" item="item" separator=","> ...原创 2019-07-25 15:24:34 · 384 阅读 · 0 评论 -
高性能mysql学习笔记--查询优化
高性能mysql六:查询优化为什么查询会变慢慢查询基础:优化数据访问1,是否向数据库请求了不想要的数据查询不需要的数据多表关联返回全部列总是取出全部列重复查询相同的数据2,mysql是否在扫描额外的记录查询开销的三个指标:响应时间,扫描行数,返回行数,访问类型(全表扫描,范围扫描,索引扫描)3,重构查询方式3.1一个复杂查询还是多个简单查询mysql在连接和断开链接都很轻...原创 2019-08-15 22:44:11 · 321 阅读 · 0 评论 -
高性能mysql学习笔记--索引
高性能mysql五:索引1,B-Tree索引全值匹配:匹配所有列。匹配最左前缀:只使用索引的第一列。匹配列前缀:只使用索引的第一列。匹配范围值:只使用索引的第一列。精确匹配某一列并范围匹配另外一列:第一列精确,第二列模糊。2,哈希索引只有精确匹配索引所有列的查询才有效。只有Memory引擎显式支持哈希索引。也支持btree索引。哈希索引只需要存储对应的哈希值,所以结构十分紧凑...原创 2019-08-12 18:15:59 · 259 阅读 · 0 评论 -
高性能mysql学习笔记--数据类型
高性能mysql四:数据类型优化1,选择优化的数据类型更小的通常更好:内存小;简单就好:代价低尽量避免null:查询null的列,很难优化,索引,索引统计也更加复杂,使用更多的储存空间。不过null改成not null带来的提升性能比较小,所以并不是首要优化的点,但是列上有索引那就避免null。1.1 整数类型有两种类型的数字:整数和实数整数:TINYINT(8),SMALLINT...原创 2019-08-16 15:40:32 · 188 阅读 · 0 评论 -
高性能mysql学习笔记--高级特性
高性能mysql七:高级特性1,分区表分区表是一个独立的逻辑表,但是底层由多个无力字表组成,实现分区的代码实际上是对一组地层表的句柄对象的封装,对分区表的请求,都会通过句柄对象转化成对储存引擎的接口调用,所以分区对于sql层来说是一个完全封装底层实现的黑盒子,对应用完全是透明的,但是从底层的文件系统来看就很容易发现,每个分区表都有一个使用#分隔命名的表文件。mysql实现分区表的方式:对底...原创 2019-08-22 18:00:23 · 358 阅读 · 0 评论 -
高性能mysql学习笔记--优化服务器设置
高性能mysql八:优化服务器设置1,mysql配置的工作原理mysql获取配置信息:命令行参数和配置文件(my.cnf)有些配置在配置文件中修改,有些配置可以在服务器运行时动态修改(动态修改kennel会在mysql关闭时丢失,想保持就得修改配置文件)设置变量的副作用动态设置可能会;导致意外的副作用,所以要慎重简单的几个配置:key_buffer_size:一次性为键缓冲区分配所...原创 2019-08-28 15:28:16 · 234 阅读 · 0 评论 -
高性能mysql学习笔记--复制
高性能mysql十:复制1,复制的概述复制解决的基本问题是让一台服务器的数据与其他服务器要保持同步。两种方式:基于行的复制和基于语句的复制,都是通过在主库上记录二进制日志,在备库上重放日志来实现异步的数据复制的。复制通常不会增加主库的开销,主要是启用二进制日志带来的开销,但是处于备份或及时从奔溃中恢复的目的,这点开销是必要的。复制的用途:数据分布,负载均衡,备份,高可用和故障切换,mys...原创 2019-09-04 10:41:37 · 208 阅读 · 0 评论 -
高性能mysql学习笔记--可扩展性
高性能mysql十一:可扩展mysql可扩展性就是能够通过增加资源来提升容量的能力。11.1 规划可扩展性考虑问题:应用的功能完成了多少?许多建议的可扩展解决方案kennel会导致实现某些功能变得更加困难,如果应用的某些核心功能还没开始实现,就很难看出如何在一个可扩展的用用中实现他们。预期的最大负载多少?考虑负载高峰期的负载大概多少。如果依赖系统的每个部分来分担负载,在某个部分失效时...原创 2019-09-04 22:35:58 · 297 阅读 · 0 评论 -
mysql遇见Expression #1 of SELECT list is not in GROUP BY clause and contains nonag
mysql遇见Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre的问题http://blog.csdn.net/qq_34707744/article/details/78031413报错如下:Expression #2 of SELECT list is转载 2018-01-15 15:35:38 · 11329 阅读 · 1 评论