数据库
文章平均质量分 70
哔哔小子
这个作者很懒,什么都没留下…
展开
-
mysql 1045 拒绝远程链接
1、报错与原因今天,使用Navicat远程登录一台 PC 机的 mysql(linux 系统),结果报错如下:从报错信息来看,是用户 sdt 登录 100.10.51.32 被否决了,但是使用密码是正确的,其错误原因可能有两个:用户名错误该 PC 机拒绝远程访问,即本地所在 IP 没有访问权限第一个原因很快被我否决了,尝试根据第二个可能错误原因去解决。本地所在的 ip 没有访问权限,被拒绝访问,需要我们在数据库为我们的本地 ip 添加访问权限。2、解决方案第一步:登录 P..原创 2022-04-28 14:33:11 · 6390 阅读 · 0 评论 -
MySQL5.7的下载以及安装
高版本Mysql插件很多,本地测试装个简单的就行,官网上的5.7没有安装程序,需要手动配置一下启动服务下载地址:Mysql下载解压之后的地址,目录。其中data是接下来的操作里生成的,my.ini是我们需要添加的。my.ini的完整代码。这个不用多说,网上都有,而且下面注释也是很全的,需要修改basedir以及datadir,依照自己的实际情况修改[mysqld]# 设置3306端口port=3306# 设置mysql的安装目录basedir=D:\\soft\\mysq...原创 2022-04-07 16:54:13 · 366 阅读 · 0 评论 -
MySQL的回表查询与索引覆盖查询
MySQL的回表查询与索引覆盖查询回表查询名词解释上篇讲到,MySQL中分为聚集索引和非聚集索引。非聚集索引的btree叶子节点中存储的是当行数据的PK。所以为了取到具体数据,则需要通过PK回到聚集索引里去查询数据。着就叫回表查询。扫描了2次索引树。所以效率相对较低。有图有真相假设有个T表,如下图所示。id是聚集索引,name则是普通索引。id name sex 1 小毛 男 2 小高 女 3 大雄 男 4 A梦转载 2020-12-14 18:11:19 · 329 阅读 · 0 评论 -
MybatisPlus--SQL注入器进行自定义注入sql和方法
https://blog.csdn.net/qq_41813208/article/details/108067050?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-转载 2020-11-04 09:14:37 · 1064 阅读 · 0 评论 -
Oracle 树状 父子结点 查询方法 倒叙查询
前言旨在记录一些Oracle使用中遇到的各种各样的问题. 同时希望能帮到和我遇到同样问题的人.Start With (树查询)问题描述:在数据库中, 有一种比较常见得 设计模式, 层级结构 设计模式, 具体到 Oracle table中, 字段特点如下:ID, DSC, PID;三个字段, 分别表示 当前标识的 ID(主键), DSC 当前标识的描述, PID 其父级ID, 比较典型的例子 是 国家, 省, 市 这种层级结构;省份归属于国家, 因此 PID 为 国家的 ID, 以转载 2020-10-14 17:39:11 · 400 阅读 · 0 评论 -
Mybatis-plus批量插入、批量修改数据saveBatch等速度缓慢
问题:用mybatis批量插入近200条的数据大概用时5s!!这个速度太可怕了解决方案:百度找了很多方案,如并发插入多个线程同时操作,但效果仍不是很明显,并且资源开销大。最终解决方案是数据库连接参数配置了rewriteBatchedStatements=true最终得以解决!经过测试速度达到了毫秒级别,100000条数据的情况下也控制在20s以下!...原创 2020-09-14 10:53:16 · 16604 阅读 · 5 评论 -
oracle分组取第N条,ROW_NUMBER() OVER的用法
适用于一些分组取特定行数的情况,rn的值是每组的顺序而不是总的顺序。“row_number() over” 括号内的部分按照从左往右排,就是先排左边的然后再排右边的 select row_number() over(partition by ORG_ID order by a.CREATETIME desc) rn,a.* from table a ...原创 2020-04-15 14:21:27 · 233 阅读 · 0 评论 -
在本地Windows系统下搭建Apollo配置中心
很详细,亲测可行!1.下载网盘下载地址:链接: https://pan.baidu.com/s/1LqmuFUEWeWKkn2aYd-fqnA 提取码: tyuk下载完毕后解压文件,可以看下目录结构这里的sql目录文件里面放入了两个sql执行语句的sql文件,我们可以去本地数据库新建两个数据库取名为:ApolloPortalDB和ApolloConfigDB然后导入sq...转载 2020-01-14 21:45:31 · 1466 阅读 · 0 评论 -
mysql数据库索引使用总结和对比
数据库存储特点数据库和nosql数据库、ES等软件相比更加重量级,同时更加安全,支持的查询方式也是其他软件不能比拟的,数据和索引文件均放到硬盘中,在数据量大时,一般都将大量数据先存取到第三方软件中,然后再异步批量插入到数据库中,数据优先从第三方软件中查询,一些特殊操作,如数据统计,历史数据查询,数据分析再从数据库中查询。数据库查询过程数据库查询过程中可以理解为从硬盘上读取数据到内存,然...原创 2020-01-13 17:47:17 · 715 阅读 · 2 评论 -
Oracle递归sql
--正向递归select * from ORGANIZE t start with OID = '' CONNECT BY PRIOR OID=POID--反向递归select * from ORGANIZE t start with OID = '' CONNECT BY nocycle prior POID=OID结果会按照递归顺序排列,如反向递归:...原创 2019-12-23 17:50:42 · 174 阅读 · 0 评论 -
Mybatis通过原生sql查询Map结果集注意事项
背景:开发中有时会遇到各种事,比如项目组有Utils类方法,解析脚本后得到一个较长的sql语句,通过原生jdbc的原生ps方法查询时查不到数据的情况。首先个人肯定是不建议在Utils里解析脚本后拼接sql的,存在sql注入的危险。那如何用myabtis动态生成sql(整个sql都是动态的,不确定性非常大,sql来源于脚本),又得防止sql注入问题?最好的办法还是在脚本生成的步奏进行...原创 2019-11-01 10:57:14 · 559 阅读 · 0 评论 -
Oracle数据库批量插入的问题
之前用mysql都是:insert into table(id,name) values('1','小明')这样的形式批量插入对于mybatis的配置大概就是:这样形式,oracle插入更新时好像必须得指定后面的jdbcType否则直接报错 !最近用oracle发现会报这样错:因为oracle批量插入居然不是mysql那样的写法。。。insert all into...原创 2019-10-24 14:27:22 · 713 阅读 · 0 评论 -
mysql日常工作中批量插入效率问题
个人总结:循环单条数据插入基本上不会用,日常工作中更多的是十几条、几百条数据量的批量插入问题。就场景来看,在后台批量将前台选中的多条数据批量插入这种情况比较多,一般直接在mybatis中通过foreach拼成sql后插入。或者是Excel表格的批量导入导出,基本上也是用mybatis就能解决,如果是控制在1000条以下直接拼sql影响不大,如果sql过长需要在mysql配置文件中设置...原创 2019-08-12 19:12:12 · 447 阅读 · 0 评论 -
不同数据量下主键类型的选择
背景之前面试的时候,有几家公司都问了UUID,自增ID的优点以及缺点,个人当时只考虑到了索引方面(增删查改的效率),没有考虑到分布式情况下的问题。如果未来可能对数据进行合并、转移,自增ID势必会发生主键重复问题。跨步自增可以解决分布式问题,但是需要对充分考虑好跨域的步数。UUID可以解决分布式问题,但是因为是varchar类型并且又很长,影响索引重组速度,又会大大影响增删改效率(随...原创 2019-08-12 16:04:05 · 1189 阅读 · 0 评论 -
Mybatis分页插件PageHelper查询ORACLE数据库示例
总之,可以手动配置,也可以不手动配置,PageHelper会自动分辨出数据库类型(支持的范围内)并且mybatis是count先select后,也就是说count出数据才会继续select,这点避免了无效查询,有时候光看日志时这点容易被坑。和数据源是mysql一样,PageHelper可以自动识别出来并通过不同的代理方法去分页~ public List<Map<S...原创 2019-07-22 17:34:26 · 6690 阅读 · 0 评论 -
redis等缓存和mysql的数据同步问题解决思路
如何解决redis等缓存和mysql的数据同步问题?在什么时机存储到mysql呢?一般方式:先更新数据库,再更新缓存缺点:会触发分布式事务问题,两步操作必须同时完成懒加载方式:先删除缓存,再更新数据库,查询时再添加到缓存中缺点:高并发情况下有小概率出现将旧数据添加到缓存中先更新数据库,再删除缓存,缺点:基本没什么大问题异步方式:可以在一...原创 2019-04-08 14:23:59 · 1428 阅读 · 0 评论 -
MySQL自定义函数用法详解-复合结构自定义变量/流程控制
自定义函数 (user-defined function UDF)就是用一个象ABS() 或 CONCAT()这样的固有(内建)函数一样作用的新函数去扩展MySQL。所以UDF是对MySQL功能的一个扩展创建和删除自定义函数语法:创建UDF: CREATE [AGGREGATE] FUNCTION function_name(parameter_name type,[parame...转载 2018-11-12 21:26:56 · 1825 阅读 · 0 评论 -
根据select的内容来批量修改一个表的字段
/*判断是否存在,如果存在就删除*/drop procedure if exists tempProcedure_Test;/*取一个系统中绝对不会用到的存储过程名称*//*创建临时存储过程*/create procedure tempProcedure_Test()BEGINdeclare isDone int default 0; /*判断是否还有记录*/declare intNu...转载 2018-11-18 11:21:31 · 634 阅读 · 0 评论 -
Oracle批量、大量Update方法总结
版权声明:版权没有,转载随意 https://blog.csdn.net/MAOZEXIJR/article/details/81027059一、业务场景: (1)主从两个表,主表Student,有字段id、name、sex,从表Boy,有字段id、name,主从表同一对象id相同 (2)从表Boy的name属性被业务修改,定时批量处理主表,以维持主表name属性与从表一致...转载 2018-11-18 11:43:10 · 8762 阅读 · 0 评论 -
【Mysql】求两个表(查询结果)的差集
求两个查询结果的差集,Mysql直接提供了关键字not in,但是not in的效率极其低下,出现例如求一个上千查询结果在上万查询结果的差集,那么使用not in来查询的查询速度极其缓慢,这是必须使用左链接的方式求查询。先从简单的说起,比如在表blog的id情况是这样的:在表usertable的id情况是这样的:现在要求这两个结果的差集,可以使用如下的语句: select ...转载 2018-11-23 09:50:34 · 3739 阅读 · 0 评论 -
Mysql常见的日期查询语句
需要注意点的是,MySql查询某区间日期时是按照00:00:00来的,也就是如果查询4月1号到4月4号的数据,后面要写成xxxx-04-05查询往前7天的数据:select * from 数据表 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= 你要判断的时间字段名 查询往前30天的数据:select * from 数据表 ...转载 2018-11-29 18:08:54 · 1091 阅读 · 0 评论 -
Mysql几种索引类型的区别及适用情况
如大家所知道的,Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE。那么,这几种索引有什么功能和性能上的不同呢?FULLTEXT即为全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCHAR ,TEXT 列上可以创建全文索引。值得一提的...转载 2018-11-30 14:19:28 · 111 阅读 · 0 评论 -
Mysql Like 性能优化总结
网上很多优化like的方法,无非下面几种,抄来抄去的。我用213万条数据,每条数据50个字段左右(用的真实的生产环境的mysql数据库,和真实的生产环境的数据),做了性能测试;时间记录的次数不多,但是基本都做了10次左右,时间误差不大的,就只记录了3次,结果如下:结论:1.LOCATE,INSTR,REGEXP三个函数,效果在like面前没有任何优势。(那些说有明显优势的,难道是用远超21...转载 2018-11-30 15:06:48 · 2188 阅读 · 1 评论 -
mysql之我们终将踩过的坑(优化)
一、EXPLAIN做MySQL优化,我们要善用 EXPLAIN 查看SQL执行计划。下面来个简单的示例,标注(1,2,3,4,5)我们要重点关注的数据type列,连接类型。一个好的sql语句至少要达到range级别。杜绝出现all级别key列,使用到的索引名。如果没有选择索引,值是NULL。可以采取强制索引方式key_len列,索引长度rows列,扫描行数。该值是个...转载 2018-12-03 13:27:43 · 657 阅读 · 0 评论 -
mybatis批量插入和批量更新
批量插入数据使用的sql语句是:insert into table (aa,bb,cc) values(xx,xx,xx),(oo,oo,oo)<!-- 批量插入数据 --> <insert id="insertBatch" parameterType="java.util.List" useGeneratedKeys="true"> ...转载 2018-12-04 09:54:19 · 610 阅读 · 0 评论 -
多个单列索引和联合索引的区别详解
背景:为了提高数据库效率,建索引是家常便饭;那么当查询条件为2个及以上时,我们是创建多个单列索引还是创建一个联合索引好呢?他们之间的区别是什么?哪个效率高呢?我在这里详细测试分析下。一、联合索引测试注:Mysql版本为 5.7.20创建测试表(表记录数为63188):CREATE TABLE `t_mobilesms_11` ( `id` bigint(20) NOT...转载 2019-03-06 11:26:36 · 292 阅读 · 0 评论 -
连表查询和子查询在实际中的使用问题和分析
前言:1.对于mysql,不推荐使用子查询和join是因为本身join的效率就是硬伤,一旦数据量很大效率就很难保证,强烈推荐分别根据索引单表取数据,然后在程序里面做join,merge数据。2.子查询就更别用了,效率太差,执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,这里多了一个创建和销毁临时表的过程。3.如果是JOIN的话,它...原创 2019-03-13 11:25:30 · 2568 阅读 · 0 评论 -
mysql 缓存机制
mysql缓存机制就是缓存sql 文本及缓存结果,用KV形式保存再服务器内存中,如果运行相同的sql,服务器直接从缓存中去获取结果,不需要在再去解析、优化、执行sql。 如果这个表修改了,那么使用这个表中的所有缓存将不再有效,查询缓存值得相关条目将被清空。表中得任何改变是值表中任何数据或者是结构的改变,包括insert,update,delete,truncate,alter table,drop...转载 2019-04-08 14:05:20 · 120 阅读 · 0 评论 -
mybatis查询树形数据的两种方法
原贴地址:https://www.cnblogs.com/nick-guo-sdly/p/7668462.html最近开发中遇到了很多树形结构数据的需要,利用mybatis提供嵌套查询功能,基本上可以完美解决,但是对于其中的原理并不理解,导致在使用的时候像瞎猫碰死耗子一样,照着先前成功的例子copy,后来遇到了莫名奇怪的报错迟迟不能解决,于是百度了一番,大致了解了背后的原理,整理如下。 ...转载 2018-11-12 14:00:45 · 6775 阅读 · 0 评论