sql
follow_me!
机会只会留给有准备的人
展开
-
sql替代函数replace与translate区别:
select REPLACE('abc123abc123', '123' ,'三二一零') from dual;原创 2022-12-20 16:57:35 · 484 阅读 · 0 评论 -
高响应延迟优化实战:
今天帮同事处理客户现场一个超高响应延迟的接口:由于客户数据达到几十W条,此接口客户环境居然跑了22S,首先通过走查代码发现以下几个严重问题:1.一个严重的循环RPC调用跑了10s,改为批量以后耗时50ms,此时这个接口响应延迟大概12s左右;2.循环逻辑,此同事将结果集数据list1的主键取出来后,又通过主键从所有数据中取出数据list2,此段代码完全无意义,跑了5s,删除后,此时这个接口响应延迟大概7s左右;3.然后定位到一个sql跑了5s左右,加索引后1s,此时这个接口响应延迟大概3s左右。原创 2022-09-19 18:40:39 · 207 阅读 · 0 评论 -
常用sql优化
总结下常用的sql优化,从避免无效查询、正确使用索引、避免索引失效、其他优化四个方面来讨论法则一:避免查询无效数据避免使用select * 操作,因为大多时间我们并不是要使用全部的字段,读取全部字段与网络传输更多数据都会导致性能下降。法则二:添加正确的索引最有效的调优是添加索引,添加索引可以避免全表扫描;且我们应避免添加索引后索引失效的操作;应该添加索引的4地方:Where后面经常出现的字段Order by后排序的关键字Group by后分组的的关键字Join on 后的关键字法则原创 2022-04-19 21:40:46 · 591 阅读 · 0 评论 -
orcale与mysql批量插入方式对比
一、 mysql:方式一:insert into user(id,name) VALUES (1,'a'),(2,'b');方式二:insert into user(id,name) VALUES (1,'a');insert into user(id,name) VALUES (2,'b');二、oracle:方式一:insert into T_USER(USER_ID,USER_NAME) VALUES (1,'a');insert into T_USER(USER_ID,USER原创 2021-12-27 19:13:54 · 300 阅读 · 0 评论 -
mysql的正确发音
MySQL的正式发音是什么?今天看p8架构师课程,发现mysql读法颠覆我的认知,就详细研究了一下:MySQL的开发团队这样说:“MySQL”的正式发音是“My Ess Que Ell”(而不是“my sequel”),但我们并不介意你的发音方式是“my sequel”或其他当地方式...原创 2021-12-13 21:18:43 · 2481 阅读 · 1 评论 -
索引分类与适用场景
一、分类数据库索引好比是一本书前面的目录,能加快数据库的查询速度。索引分为聚簇索引和非聚簇索引两种,聚簇索引 是按照数据存放的物理位置为顺序的,而非聚簇索引就不一样了;聚簇索引能提高多行检索的速度,而非聚簇索引对于单行的检索很快。1.聚簇索引:别名簇类索引,聚集索引,聚类索引,按数据存放的物理位置排序,每个表只能有一个聚簇索引,因为一个表中的记录只能以一种物理顺序存放。一般情况下主键就是默认的聚簇索引。严格来说,聚簇索引不一定是唯一索引,聚簇索引的索引值并不要求是唯一的,唯一聚簇索引才是!在一个有聚簇原创 2021-09-06 14:43:31 · 1999 阅读 · 0 评论 -
varchar2、varchar与字符对应关系
oracle11g:varchar2 汉字与汉字标点符号utf8 3-1 、 gbk 2-1英语字母、英文标点、数字 utf8 1-1、 gbk 1-1mysql5.7 :varchar 汉字,汉字标点符号,英语字母,英文标点,数字 utf-8/GBK 1-1原创 2021-08-31 15:45:00 · 513 阅读 · 0 评论 -
oracle:sql调整时间(天、时、分、秒)
select sysdate,sysdate +1,sysdate + 1/24,sysdate + 1/24/60,sysdate + 1/24/60/60 from dual;原创 2021-08-12 16:56:33 · 1035 阅读 · 0 评论 -
SQL报错:Encountered unexpected token: “FUNCTION“ “FUNCTION“at line 5, column 10.Was expecting one of:
写代码SQL报错,做下记录:Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "FUNCTION" "FUNCTION" at line 5, column 10.Was expecting one of: "ACTION" "ANY" "BYTE" "CASCADE" "CAST" "CHANGE" "CHAR"原创 2021-08-09 18:57:02 · 2921 阅读 · 0 评论 -
limit 与 offset 的用法
select * from table limit 2,1;//跳过2条取出1条数据,limit后面是从第2条开始读,读取1条信息,即读取第3条数据select * from table limit 2 offset 1;//limit后面跟的是2条数据,offset后面是从第1条开始读取(不包括),即读取第2,3条...原创 2021-07-27 20:44:30 · 275 阅读 · 0 评论 -
DISTINCT不能和order by一起使用的问题
今天写sql突然报错:Error querying database. Cause: java.sql.SQLSyntaxErrorException: ORA-01791: 不是 SELECTed 表达式SELECT DISTINCT menu.SYS_MENU_ID, menu.MENU_NAME, menu.MENU_CODE, menu.PARENT_MENU_ID, menu.MENU_URL, menu.MENU_ROAD, res.SYS_RESOURCE_ID, res原创 2021-06-25 14:11:11 · 4586 阅读 · 1 评论