数据库
准时长大
充实自己,学到老活到老
展开
-
mysql可重复执行增加字段脚本
数据库可执行脚本,用于批量执行脚本时更加平滑,无需重复备份,无需找寻错误sql原创 2022-09-23 09:35:03 · 1947 阅读 · 0 评论 -
慢sql优化总结
项目中由于前人写的上古SQL,加上业务数据量逐渐增加,导致SQL效率急剧下降,故结合阿里云的PolarDB产品分析相关线上慢SQL日志,进而优化解决经整理分析,此次sql性能问题主要凸显以下几点: 1.数据量巨大,存在单表数据量超过1亿的数据,且很多单表体积在几千万的数据互相之间关联查询 2.历史索引创建问题,新业务产生时未及时结合全场景进行索引更新,频繁创建新的索引,各个索引的排列未使得效率最大化且浪费磁盘空间,且多索引情况下判断索引命中索引需要更多的时间,极有可能锁表...原创 2020-11-12 10:18:43 · 543 阅读 · 0 评论 -
mybatis之in和charindex的使用
mybatis之in的使用 大家在一条sql中传入多个查询数据时都会使用的in关键字,可是在sql中明明好好的执行,到了程序中要么报错要么查询为空。原因在于在mybatis中,默认in属性为传递多个数据,则需要遍历循环去读取,外部通过数组或者集合的方式传入,示例如下 Java调用代码 String[] cIdArrays = cId.split(","); L...原创 2019-10-17 17:19:11 · 941 阅读 · 0 评论 -
MySQL和SQLServer的存储过程
1.MySQL的存储过程 存储过程从易到难有多种方式组合,无参数请求,in方式请求,out方式请求,in和out混合请求。我这边是一个简易的in和out混合请求的示例。delimiter $$create procedure pro2(in p_ccpid INTEGER,out p_cardholder VARCHAR(200))BEGINselect cardholder in...原创 2018-03-06 15:20:54 · 896 阅读 · 1 评论 -
sqlserver之FOR XML PATH,坐标定位,sql语句
1.FOR XML PATH碰到一个这样的需求,需要查询出电影的所有场次,于是就接触到了FOR XML PATH。想要得到的就是这样的效果。首先看一下sql语句。SELECT DISTINCT show_time + '|' FROM api_film_show tt WHERE tt.cinema_id = t1.cinema_id FOR XML PATH ...原创 2018-05-14 15:35:57 · 1231 阅读 · 0 评论 -
需要排序的分页SQL语句(sqlserver)
在项目中运用sqlserver分页的时候,首先我百度到的是一种top关键字进行分页,具体的代码由于我把sql重写了,就不在svn上面给大家翻出来了,关键的一点是什么,那就是运用top分页以后其实显示出来的是假数据,简单点说就是,你永远看到的就是你的第一页,不管你页数写多少,显示条数是多少,幸好在开发阶段发现这样的低级bug,还好还好。 真正让我摒弃top的原因是,我项目中要用到o...原创 2018-05-24 14:04:48 · 2450 阅读 · 1 评论 -
遍历json数据批量插入数据库
之前碰到过一个问题,如果大批量数据要插入到数据库怎么做?今天记录一下。1.想法我的想法是首先拿到需要插入的数据,最好是json数据或者是json格式的数组,通过筛选出必要的数据装载到一个集合数组中,然后批量插入到数据库即可。我觉得有两个地方是难点,第一个,json格式嵌套的很深,那么取值的工作会很艰难。第二个,对批量插入数据的这种方式是否熟悉。2.第一步,拿到数据,并放到resource目录下。[...原创 2018-07-11 17:35:56 · 10888 阅读 · 10 评论 -
sqlserver 知识点积累
1.mybatis在只传入一个参数的情况下,并且该参数不为空,需要用‘_parameter’参数值来代替,否则值取到的会不一致<select id="courseMenuTreeNode" parameterType="java.lang.Integer" resultMap="BaseResultMap"> select <include ...原创 2019-07-31 10:46:03 · 428 阅读 · 1 评论