`

一次sql语句统计分析比较记录

 
阅读更多

       来在看sql的一些东西,将一些步骤记录下来。

       1. 使用explain来检查查询走索引的情况

       2. 将数据库的profile功能打开

           select @@profiling;

          如果profilling为1,就不用打开了,如果不为1,就打开:

         set profiling = 1;

       3. 使用show profiles来查看进去执行的各个query

       4. 使用show profile all for query xxx. 这个里面的xx就是你上面的query的id

 

      下面我们来看下我这次排查的一个过程:

 

       首先下来看下表结构,这个地方就简略的写下 :

       假设 有一张表,表名:GWFP_PROCESS_INFO,假设只有这两列,其中CREATE_USER和别的两个字段建立了联合索引。

 

表结构:  
  PROCESS_ID int  
   CREATE_USER varchar(20)  

primary key PROCESS_ID

key CREATE_USER_INDEX(xxx,CREATE_USER,yyyy)


有以下数据:  
  [PROCESS_ID] [CREATE_USER ]  
  001 zhangsan
  002 zhangsan
  003 lisi
  004 wangwu

要求写一个查询语句,只显示[name]有重复的数据,没有重复的不显示出来。  

 

这个地方sql的话,有两种写法,都要用子查询,一种是走in

select PROCESS_ID from GWFP_PROCESS_INFO where CREATE_USER in (select CREATE_USER from GWFP_PROCESS_INFO  group by CREATE_USER  having count(CREATE_USER) > 1);

 另外一个是使用exists子查询:

  select PROCESS_ID from GWFP_PROCESS_INFO g1 where exists (select 1 from GWFP_PROCESS_INFO g2  where g1.CREATE_USER = g2.CREATE_USER and g1.PROCESS_ID != g2.PROCESS_ID);

 

   我们来看下explain的效果:



 

数据总量如下:



 我们明显看到这两个没有大的区别。

 

 这也不写profile的结果了,两个也差别不大,所以exists和in感觉在这种情况下没有什么区别,就放心了。

 

   

  • 大小: 26.4 KB
  • 大小: 3.4 KB
分享到:
评论

相关推荐

    DB2 SQL语句性能分析方法

    IBM DB2 Universal Database (UDB) 作为一款成熟且功能强大的数据库产品,提供了多种工具帮助用户监控和分析SQL语句的执行情况。其中,“语句事件监测器”是一项非常实用的功能,它能够详细记录SQL语句的执行细节,...

    SQLTracker,抓取sql语句的工具

    SQLTracker是一款专为数据库操作监控设计的工具,它在IT领域中主要用于跟踪和记录SQL语句的执行情况。SQL(Structured Query Language)是用于管理关系数据库的编程语言,包括查询、更新、插入和删除数据等操作。SQL...

    泛微系统SQL语句大全

    SQL语句可以用于跟踪流程状态、查询历史记录、分析流程效率等。例如,通过`JOIN`操作结合流程表和任务表,可以获取某个任务的所有处理人及他们的处理时间。 3. **效率排名SQL**: - 效率排名通常涉及对员工、部门...

    arcgis中的sql语句

    - **地理处理**:在地理处理工具中,SQL被用于构建复杂的逻辑表达式,实现数据的过滤、统计分析和空间分析等功能。 #### 四、SQL在ArcGIS的高级应用场景 在ArcGIS的高级应用中,SQL不仅限于上述基础功能,它还可以...

    Sql Server ExpressProfiler 监视Sql语句

    6. **性能调优**:通过分析SQL语句的执行计划,可以识别索引缺失、统计信息不准确等问题,从而对数据库进行针对性的优化。 7. **安全性审计**:Profiler还可以用来监控数据库的安全事件,例如权限变更、登录失败等...

    sql语句生成器

    `MakeSQL-master`这个文件名可能指的是一个开源的SQL语句生成器项目,可能包含了源代码、文档和其他资源,供开发者下载和使用。通过这样的工具,开发者可以更高效地进行数据库操作,提高代码质量,同时降低维护成本...

    SQL语句基础教程。SQL语句基础教程

    SQL(Structured Query Language)...通过这个“SQL语句基础教程”,初学者将逐步了解和掌握SQL的基本概念和操作,为数据库管理和分析奠定坚实的基础。在实际应用中,不断练习和探索,将使你对SQL的运用更加得心应手。

    SQL语句优化规则

    - **全表扫描**:Oracle通过一次性读取多个数据块来优化全表扫描。虽然这在某些情况下是必要的,但在大数据量时,全表扫描可能导致性能下降。 - **通过ROWID访问**:ROWID包含了记录的物理位置信息,通过索引可以...

    sql语句电子书 . .

    这本书“SQL语句电子书”显然涵盖了这一主题的广泛内容,旨在帮助读者掌握SQL的基本概念以及高级技巧。 一、SQL基础 1. 数据库概念:SQL语句首先需要理解数据库是什么,包括关系型数据库的基本原理,如表、字段、...

    idea插件mybaits log 打印sql语句

    3. **执行时间统计**:记录每个SQL的执行时间,便于分析性能瓶颈。 4. **日志级别控制**:允许用户根据需要设置不同的日志级别,如DEBUG、INFO、WARN等。 5. **格式化输出**:对打印的SQL进行格式化,使其更易读。 6...

    DB查询分析器批量执行多条SQL语句并查看各自的执行时间

    - **批量执行能力**:用户可以一次性提交多条SQL语句,无需逐条执行。 - **执行时间统计**:每个SQL语句执行完毕后,系统会自动记录并显示其执行时间,帮助用户快速了解每条SQL语句的性能表现。 **2. 受影响记录数...

    SQL语句执行顺序说明

    例如,可以通过JOIN操作一次性获取所需的所有数据,而不是通过多个独立的查询。 5. **使用DECODE函数来减少处理时间**:使用DECODE函数可以避免重复扫描相同记录或重复连接相同的表,从而减少处理时间。 6. **整合...

    db2数据库sql语句大全

    此SQL语句创建一个包含两列的新表:`column1`为整数类型且不允许为空,`column2`为可变长度字符串类型,最大长度为30个字符。 #### 5. 添加主键约束 ```sql altertable<> addprimarykey("column1"); ``` 该语句向...

    使用sql语句查询的数据按时间递增累加

    执行上述SQL语句后,每条记录都将包含一个额外的 `ۼԤ` 字段,显示截至该时间点的累计预计值。例如,对于第一条记录,“2013-01-01”的累计预计值为300;对于第二条记录,“2013-02-01”的累计预计值为380(即300+...

    SQL语句大全(文档).rar

    11. **子查询**:嵌套在其他SQL语句中的查询,可以作为表达式的一部分,用于比较、过滤或计算。 12. **聚合函数**:如`COUNT`、`SUM`、`AVG`、`MAX`和`MIN`,用于统计和分析数据。 在实际应用中,SQL语句通常与...

    非常好用的SQL语句优化34条+sql语句基础

    在SQL编程领域,掌握高效的SQL语句优化技巧和基础知识是至关重要的。以下是对"非常好用的SQL语句优化34条+sql语句基础"这一主题的详细解析: 1. **索引优化**:索引是提高查询速度的关键。创建合适的索引(主键、...

    sql语句自动生成器

    SQL语句自动生成器是一款强大的工具,主要用于帮助程序员和数据库管理员快速、高效地编写SQL查询语句。在数据库管理工作中,构建复杂的SQL查询通常需要深厚的技术背景和对SQL语法的熟练掌握。这款软件通过自动化这一...

    课程课件\经典SQL语句大全+SQL基础教程.rar

    - 数据分析:通过聚合函数(SUM、AVG、COUNT等)进行统计分析。 - 数据备份与恢复:导出数据为文件,或从备份导入数据。 综上所述,这份压缩包提供了全面的SQL学习材料,涵盖了SQL的基础概念、常用语句、最佳实践...

    高级SQL语句

    示例中的右外联接语句结合了子查询,用于找出每个站点在特定日期内最后一次记录的时间戳,同时排除那些在当天早上8点有记录的站点。这通过先进行子查询来找出符合条件的站点和时间戳,然后与原始表`stinfo`进行联接...

    MySQL SQL语句练习题及答案

    MySQL SQL语句练习题及答案 本资源提供了 MySQL SQL 语句的练习题及答案,涵盖了创建表、插入数据、删除数据、更新数据、查询数据等多方面的知识点。 一、创建表 在 MySQL 中,创建表使用 CREATE TABLE 语句。...

Global site tag (gtag.js) - Google Analytics