我的编程空间,编程开发者的网络收藏夹
学习永远不晚

sql中如何查看delete的数据

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

sql中如何查看delete的数据

这篇文章主要介绍sql中如何查看delete的数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

测试数据,在进行删除delete的时候有索引和没有索引的对象的统计信息,会话的统计信息,会话的等待事件

delete test_a
删除耗费491秒
select c.sid,b.NAME,a.VALUE from v$sesstat a ,v$statname b ,(select SID from v$mystat where rownum<=1) c
   where a.SID=c.sid and a.STATISTIC#=b.STATISTIC# and (b.NAME like 'physical%' or b.name like '%read%' or B.NAME like   '%undo%' or b.name like '%redo%') and a.VALUE<>0 ;
 
       SID NAME                                                                  VALUE
---------- ---------------------------------------------------------------- ----------
       318 session logical reads                                               4202712 ---实际行数400W
       318 physical read total IO requests                                        1142
       318 physical read total multi block requests                               1117
       318 physical read total bytes                                         145031168
       318 physical reads                                                        17704 --表块的数量
       318 physical reads cache                                                  17704
       318 physical read IO requests                                              1142
       318 physical read bytes                                               145031168 ---delete这里会物理读取实际的大小140M,而后面的等待事件说明在这里小号了43秒
       318 redo synch writes                                                         1
       318 physical reads cache prefetch                                         16562
       318 redo entries                                                        4017828
       318 redo size                                                        1141494072 --任然的REDO生成了1G,和INSERT差不多
       318 redo buffer allocation retries                                           49
       318 redo log space requests                                                  49
       318 redo log space wait time                                                296
       318 redo ordering marks                                                   73945
       318 redo subscn max counts                                                74118
       318 undo change vector size                                           589435236 --undo生成了580M,比INSERT更多
       318 no work - consistent read gets                                        17906
       318 IMU undo allocation size                                              63992


  select *
          from v$session_event a
        where a.SID = 318
      order by TIME_WAITED desc;
 
       SID EVENT                             TIME_WAITED_MICRO
---------- ---------------------------------------------------
       318 SQL*Net message from client               206690838
       318 db file scattered read                     43843361 --43秒
       318 log file switch completion                  2952901
       318 db file sequential read                      188312
       318 log buffer space                              28325
       318 SQL*Net message to client                        89
 
 
SQL> select * from v$sess_time_model where sid=318 order by  value desc;
 
       SID    STAT_ID STAT_NAME                                                             VALUE
---------- ---------- ---------------------------------------------------------------- ----------
       318 3649082374 DB time                                                           491842941
       318 2821698184 sql execute elapsed time                                          491750449
       318 2748282437 DB CPU                                                            436421084 --等待比INSERT相比增加了
       318 1431595225 parse time elapsed                                                   405367
       318  372226525 hard parse elapsed time                                              396096
       318 1990024365 connection management call elapsed time                               28152
       318 1311180441 PL/SQL compilation elapsed time                                        3400
       318 2643905994 PL/SQL execution elapsed time                                           646
       318 1159091985 repeated bind elapsed time                                              319


会话315
delete test_b;

耗时1100多秒
SQL> select c.sid,b.NAME,a.VALUE from v$sesstat a ,v$statname b ,(select SID from v$mystat where rownum<=1) c
  2     where a.SID=c.sid and a.STATISTIC#=b.STATISTIC# and (b.NAME like 'physical%' or b.name like '%read%' or B.NAME like   '%undo%' or b.name like '%redo%') and a.VALUE<>0 ;
 
       SID NAME                                                                  VALUE
---------- ---------------------------------------------------------------- ----------
       315 session logical reads                                              16309976   --逻辑读是实际行数的4倍,包含表本生的读取,还有索引读取
       315 physical read total IO requests                                        9501
       315 physical read total multi block requests                               1101
       315 physical read total bytes                                         211697664
       315 physical reads                                                        25842 --物理块 索引+表
       315 physical reads cache                                                  25842
       315 physical read IO requests                                              9501
       315 physical read bytes                                               211697664 --- 这里基本是表144M+72m索引的大小
       315 redo synch writes                                                         1
       315 physical reads cache prefetch                                         16341
       315 redo entries                                                        8036150
       315 redo size                                                        1959456476 ---2G
       315 redo buffer allocation retries                                           85
       315 redo log space requests                                                  87
       315 redo log space wait time                                                595
       315 redo ordering marks                                                  116447
       315 redo subscn max counts                                               125117
       315 undo change vector size                                           922274632 --900M
       315 no work - consistent read gets                                        18761
      
 SQL>  select *
  2            from v$session_event a
  3          where a.SID = 315
  4        order by TIME_WAITED desc;
 
       SID EVENT                          TIME_WAITED_MICRO
---------- ------------------------------------------------ ---------------------------------------------
       315 SQL*Net message from client            317688133
       315 db file sequential read                131743590  ---131秒(索引的读取)
       315 db file scattered read                  34265605  --34秒
       315 log file switch completion               6006692
       315 events in waitclass Other                  58204
       315 SQL*Net message to client                     65
 
SQL> select * from v$sess_time_model where sid=315 order by  value desc;
 
       SID    STAT_ID STAT_NAME                                                             VALUE
---------- ---------- ---------------------------------------------------------------- ----------
       315 3649082374 DB time                                                          1068676495
       315 2821698184 sql execute elapsed time                                         1068593627
       315 2748282437 DB CPU                                                            886348292
       315 1431595225 parse time elapsed                                                   129178
       315  372226525 hard parse elapsed time                                              112666
       315 1311180441 PL/SQL compilation elapsed time                                       25308
       315 1990024365 connection management call elapsed time                               21365
       315 2643905994 PL/SQL execution elapsed time                                          3872
       315 1159091985 repeated bind elapsed time                                              518
      
实际上对比INSERT,DELETE语句实际上多在对表和索引的读取环节,LOG生成量差不多,UNDO delete更多,
但是基本上多一个索引时间会*2,所以对于大量的数据删除,和平凡的INSERT不适合建立索引,
但是如果只是DELETE TABLE WHERE ID=1这样的操作比较多,那么索引可以提高读取表的速度,这样可以不使用
全表扫描而使用索引扫描,要快很多。所以还是要区别对待。

以上是“sql中如何查看delete的数据”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

sql中如何查看delete的数据

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

sql中如何查看delete的数据

这篇文章主要介绍sql中如何查看delete的数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!2、测试数据,在进行删除delete的时候有索引和没有索引的对象的统计信息,会话的统计信息,会话的等待事件delete
2023-06-06

SQL如何查看数据库中的表

在SQL中,可以使用以下命令来查看数据库中的表:SHOW TABLES;或者SELECT table_name FROM information_schema.tables WHERE table_schema = database
SQL如何查看数据库中的表
2024-03-07

sql数据库如何查看表数据

要查看SQL数据库中的表数据,您可以使用SELECT语句。以下是一个简单的示例:SELECT * FROM table_name;在这个例子中,table_name是要查看数据的表的名称。通常,*通配符用于选择所有列,但您也可以选择特定的
sql数据库如何查看表数据
2024-05-06

sql如何查看表中字段数据类型

要查看表中字段数据类型,可以使用SQL的DESCRIBE或者SHOW命令。例如,可以使用以下命令查看表中所有字段的数据类型:DESCRIBE table_name;或者SHOW COLUMNS FROM table_name;这将返回包
sql如何查看表中字段数据类型
2024-04-09

sql数据库如何查看表内容

要查看表的内容,可以使用SELECT语句查询表中的数据。以下是一个基本的SELECT语句的示例:```sqlSELECT * FROM 表名;```上述语句将返回表中的所有行和列。如果只想查看特定的列,可以在SELECT语句中指定列名。例如
2023-10-08

如何查看redis中的数据

如何查看 redis 中的数据Redis 是一款键值数据库,存储的数据以键值对的形式存在。要查看 Redis 中的数据,有多种方法:1. 使用 Redis 客户端Redis 命令行客户端(redis-cli)可用于连接 Redis 服
如何查看redis中的数据
2024-06-12

如何查看sql数据库的存储位置

要查看SQL数据库的存储位置,可以执行以下步骤:1. 打开SQL Server Management Studio(SSMS)或其他SQL数据库管理工具。2. 连接到目标SQL服务器。3. 在对象资源管理器中,展开“数据库”文件夹,以显示所
2023-09-22

sql怎么查看数据库中的表

要查看数据库中的表,您可以使用 SQL 查询来检索数据库中的表信息。以下是常见的两种方法:使用 SHOW TABLES; 查询:这个语句将显示数据库中所有的表名。SHOW TABLES;使用 SELECT table_name FROM i
sql怎么查看数据库中的表
2024-03-02

java中如何查看数据的类型

在Java中,可以通过使用getClass()方法或instanceof关键字来查看数据的类型。使用getClass()方法:Object obj = new String("Hello");Class objClass = obj.ge
java中如何查看数据的类型
2024-03-04

redis如何查看数据

查看redis数据的方法主要取决于数据类型:字符串类型:get、strlen列表类型:lrange、lindex、llen哈希类型:hget、hgetall、hlen集合类型:smembers、scard、sismember有序集合类型:z
redis如何查看数据
2024-04-20

如何查看oracle的数据库

要查看Oracle数据库,可以使用SQL*Plus或SQL Developer等工具。以下是在这两个工具中查看Oracle数据库的步骤:使用SQL*Plus查看Oracle数据库:1. 打开命令提示符或终端窗口。2. 输入以下命令并按Ent
2023-08-22

如何查看redis里的数据

要查看Redis中的数据,可以使用以下几种方法:使用Redis命令行客户端工具:可以通过在终端中输入redis-cli命令来启动Redis的命令行客户端工具。然后可以使用GET、HGETALL等命令来查看指定键的值或哈希表的所有字段和值。使
如何查看redis里的数据
2024-04-09

mysql如何查看数据表

如何查看 mysql 数据表打开数据库连接首先,使用 MySQL 命令行客户端或其他数据库管理工具连接到 MySQL 服务器。输入以下命令:mysql -u 您的用户名 -p 您的密码列出所有数据表连接成功后,输入以下命令列出当前
mysql如何查看数据表
2024-06-14

linux如何查看mongodb数据

要查看MongoDB数据,您可以使用MongoDB提供的命令行工具或者图形界面管理工具。使用命令行工具:1. 打开终端或命令提示符窗口。2. 运行命令`mongo`连接到MongoDB服务器。3. 运行命令`use `选择要查看的数据库。4
2023-09-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录