传统方式:insert into tableA select xx from tableB或者使用<foreach collection="pd.mapListImpt" item="item" index="index" open="begin" close=";end;" separator=";" > update tableA <set> a= #{p
  回顾了一下之前做的项目,在数据开发方面,做相应的数据优化是很有必要的,在现在企业当中对于集群来说,磁盘、内存、网络都是比较重要的资源,但真正的瓶颈是磁盘,因为对数据做处理时,数据不可能一直放于内存,所以对磁盘空间以及磁盘I/O的优化,就是一个非常重要的环节。因此在获取数据的同时,按需求选择相应的数据文件格式也就变得尤为重要。所以今天总结下常用的文件格式 和压缩格式的存储形式及优缺点。
转载 10月前
27阅读
    最近在优化项目中的配置文件,苦思冥想了n种解决方案,就连晚上睡觉脑子里也是Config配置节点。好吧,也许有的人会疑问,为什么要优化或者说整合项目中的配置文件呢?说白了,也是项目前期没有对配置文件有个很好的总体考虑,当项目越来越大,与其他系统之间又紧密联系在一起,你会发现项目中无论是自身的配置还是第三方的配置都很多,如果之前没有一个很好的规划,配置节点会放的到
概述数据管理型系统,由于用户的要求或者系统设计要求,会出现大量表进行join,还要进行大量统计性数据查询展示,甚至数据权限控制等操作。最后会导致sql异常复杂,随着数据量增加,或者只是应用到生产环境(正式环境)就会出现系统反应慢,体验差的现象,这个时候不得不对这些,复杂的sql进行优化。sql优化是一个说容易不容易,说难也不难的问题,还是得具体问题具体分析,下面介绍下一般sql存在的问题和解决的思
血泪史:  博主从前只知道sql优化是:不要用select * ,between and代替<>,in...非常low的优化知识。但自从发现了EXPLAIN之后,才觉得真正进入了sql优化的世界。 正题:  开发中有时会出现一个复杂的sql查询执行时间很长的问题,这个时候就需要通过EXPLAIN来进行分析啦!应用:  EXPLAIN的用
开始使用 Transitions(过渡动画) (part 1)> * 原文链接 : Getting Started with Activity & Fragment Transitions (part 1) * 开始使用 Transitions首先这篇文章主要介绍 Android 5.0 新加入的 Transition (过渡动画) API,这是这个系列的第一篇文章。主要介绍下
问题这是一个线上问题,从日志平台查询到的 SQL 执行情况,该 SQL 执行的时间为 11.146s,可以认定为是一个慢查询,美化后的 SQL 如下:先找到这个表的定义以及索引情况如下:可见,主要有两个联合索引:status, to_account_id 和 status, from_account_id问题分析我们先用 explain 查看执行计划:先看看explain的含义
问题 通过「SHOW FULL PROCESSLIST」语句很容易就能查到问题SQL,如下: 说明:因为post和tag是多对多的关系,所以存在一个关联表post_tag。 试着用EXPLAIN查询一下SQL执行计划(篇幅所限,结果有删减): 下面给出优化后的SQL,唯一的变化就是把连接方式改成了「
转载 2017-08-29 14:18:00
317阅读
2评论
优化GROUP BY语句 默认情况下,MySQL对所有GROUP BY col1,col2...的字段进行排序。这与在查询中指定ORDER BY col1,col2...类似。因此,如果显式包括一个包含相同的列的ORDER BY子句,则对MySQL的实际执行性能没有什么影响。 如果查询包括GROUP
转载 2017-06-27 21:29:00
132阅读
2评论
遇到一个SQL执行很慢 SQL 如下: SELECT ... FROM tableA WHERE time >= 1492044535 and time <= 1492046335 GROUP by time, sourceName, serverSite,clientSite; SEL
转载 2018-06-15 15:22:00
201阅读
2评论
优化GROUP BY语句 默认情况下,MySQL对所有GROUP BY col1,col2...的字段进行排序。这与在查询中指定ORDER BY col1,col2...类似。因此,如果显式包括一个包含相同的列的ORDER BY子句,则对MySQL的实际执行性能没有什么影响。 如果查询包括GROUP BY 但用户想要避免排序结果的消耗,则可以指定ORDER By NULL禁止排序,例如:
转载 2018-06-08 14:38:00
224阅读
今天遇到一个慢查询的sql,sql如下:EXPLAINSELECT tas.f_year, tc.pk_id, tas.f_sex, tas.f_rank_score, tas.
原创 2022-10-26 09:59:30
349阅读
using filesort  一般人的回答是: “当行数据太大,导致内存无法容下这些数据产生的临时表时,他们就会被放入磁盘中排序。”  很不幸,这个答案是错的 ,临时表在太大的时候确实会到磁盘离去,但是EXPLAIN不会显示这些。 The truth is, filesort
转载 2018-06-08 16:55:00
375阅读
2评论
Using temporaryUsing filesort分析
原创 2017-01-05 18:10:41
10000+阅读
        通过explain查看sql的执行计划时,Extra字段的值往往会看到Using where; Using index; Using temporary; Using filesort一、using filesort       &n
转载 2024-06-12 23:06:25
1802阅读
1点赞
# 实现"mysql DISTINCT Using temporary"的步骤 ## 流程图 ```mermaid flowchart TD A(开始) --> B(执行SQL查询) B --> C(使用DISTINCT关键字) C --> D(生成临时表) D --> E(返回查询结果) E --> F(结束) ``` ## 表格展示步骤 | 步骤
原创 2024-06-02 03:49:42
32阅读
连接查询1、内连接:1、交叉连接:交叉链接又称“笛卡尔链接”,即所有类型的内连接的基础 语法SELECT * FROM table1,table2; 两者相等 SELECT * FROM table1 JOIN table2;2、内部连接:SELECT fieldlist FROM table1 [INNER]JOIN table2 ON table1.column1=table2.column2
转载 9月前
17阅读
# MySQL中的DISTINCT和Using Temporary 在MySQL中,DISTINCT是用于返回不重复的数据行的关键字。而Using Temporary是一个标志,用于告知MySQL在处理查询时使用了临时表。 ## DISTINCT关键字的使用 当我们执行一个查询时,有时会发现结果集中存在重复的行。这可能是由于在表中存在重复的数据,或者查询条件不准确。为了消除这些重复的行,我们
原创 2023-07-20 11:54:42
414阅读
DBA发来一个线上慢查询问题。 SQL例如以下(为突出重点省略部分内容): select distinct article0_.id, 等字段 from article_table article0_, hits_table articlehit1_ where article0_.id=artic
原创 2022-01-12 11:24:22
654阅读
昨天听开发人员提到,相关的彩票网页当中一个页面刷新的
转载 2018-06-08 14:31:00
103阅读
  • 1
  • 2
  • 3
  • 4
  • 5