当前位置:  数据库>oracle

InnoDB与Oracle单行存储长度对比

    来源: 互联网  发布时间:2017-03-22

    本文导语: 众所周知,MySQL InnoDB存储引擎与Oracle非常相似,支持事务,row-locking,经过实际测试,innodb与oracle一个比较大的差异点为,相同数据,innodb单行存储长度大概是oracle单行存储长度的1.8倍。测试的表,常见的各种类型都有,number,varchar2,...

众所周知,MySQL InnoDB存储引擎与Oracle非常相似,支持事务,row-locking,经过实际测试,innodb与oracle一个比较大的差异点为,相同数据,innodb单行存储长度大概是oracle单行存储长度的1.8倍。
测试的表,常见的各种类型都有,number,varchar2,date

--首先在Oracle中做测试 , 在Oracle数据库中此表单行长度平均为458字节

09:49:45 danchen@ test_oracle>select blocks from dba_extents where segment_name='test_dc' and rownumselect /*+ rowid(u)*/  count(*) from test_dc u where rowid>=CHARTOROWID('AAADQdAA6AAADcJAAA') and rowidselect 1280*8*1024/22852 bytes from dual;

     BYTES
----------
458.855242

--在mysql作对比测试
root@test_mysql 09:47:47>select count(*) from test_dc_181;
+----------+
| count(*) |
+----------+
|   128928 |
+----------+
1 row in set (0.08 sec)






root@test_mysql 09:45:57>show table status like 'test_dc_181'G;
*************************** 1. row ***************************
           Name: test_dc_181
         Engine: InnoDB
        Version: 10
     Row_format: Compact
           Rows: 85668   --统计信息不准确
 Avg_row_length: 1122
    Data_length: 96141312
Max_data_length: 0
   Index_length: 0
      Data_free: 0
 Auto_increment: NULL
    Create_time: 2009-05-27 11:23:55
    Update_time: NULL
     Check_time: NULL
      Collation: gbk_chinese_ci
       Checksum: NULL
 Create_options:
        Comment: InnoDB free: 292984832 kB
1 row in set (0.00 sec)



















ERROR:
No query specified


--重新分析一下,发现执行分析操作时间非常快,数据也比较准确,估计mysql的分析的算法原理为基于抽样的统计,比如说一个page里有多少记录,总的page数是多少,两者相乘即可得到行数。
root@test_mysql 09:46:01>analyze table test_dc_181;
+---------------------+---------+----------+----------+
| Table               | Op      | Msg_type | Msg_text |
+---------------------+---------+----------+----------+
| test_mysql.test_dc_181 | analyze | status   | OK       |
+---------------------+---------+----------+----------+
1 row in set (0.00 sec)







root@test_mysql 09:46:46>show table status like 'test_dc_181'G;
*************************** 1. row ***************************
           Name: test_dc_181
         Engine: InnoDB
        Version: 10
     Row_format: Compact
           Rows: 115074
 Avg_row_length: 835
    Data_length: 96141312
Max_data_length: 0
   Index_length: 0
      Data_free: 0
 Auto_increment: NULL
    Create_time: 2009-05-27 11:23:55
    Update_time: NULL
     Check_time: NULL
      Collation: gbk_chinese_ci
       Checksum: NULL
 Create_options:
        Comment: InnoDB free: 292984832 kB
1 row in set (0.00 sec)



















ERROR:
No query specified

--在mysql innodb的表中平均单行长度为835字节

root@test_mysql 09:46:50>select 96141312/115074;
+-----------------+
| 96141312/115074 |
+-----------------+
|        835.4738 |
+-----------------+
1 row in set (0.00 sec)






--同一行记录,在oracle与mysql存储空间对比为1.8:1,所以在做容量估计的时候要注意。
root@test_mysql 09:48:14>select 835.4738/458.855242 ;
+---------------------+
| 835.4738/458.855242 |
+---------------------+
|          1.82077859 |
+---------------------+
1 row in set (0.00 sec)








    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 数据库存储引擎 InnoDB
  • 探讨:innodb与myisam在存储上有何特点和区别
  • MySQL存储引擎MyISAM与InnoDB的9点区别
  • 深入探讨:MySQL数据库MyISAM与InnoDB存储引擎的比较
  • MySQL数据库MyISAM存储引擎转为Innodb的方法
  • MySQL存储引擎简介及MyISAM和InnoDB的区别
  • MySQL存储引擎 InnoDB与MyISAM的区别
  • innodb存储引擎修改表共享空间为独立空间
  • Mysql5.5 InnoDB存储引擎配置和优化
  • MySQL两种表存储结构MyISAM和InnoDB的性能比较测试
  • 浅谈MySQL存储引擎选择 InnoDB与MyISAM的优缺点分析
  • mysql 提示INNODB错误的解决方法
  • show engine innodb status显示信息不全如何解决
  • mysql 提示INNODB错误的解决方法 iis7站长之家
  • 嵌入式数据管理 Embedded InnoDB
  • MySQL InnoDB和MyISAM数据引擎的差别分析
  • Mysql启动中 InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes 的问题
  • innodb 库的备份注意点(由phpmyadmin引起的解决方案)
  • 关于mysql中innodb的count优化问题分享
  • MYSQL无法启动提示: Default storage engine (InnoDB) is not available的解决方法
  • mysql之innodb的锁分类介绍
  • mysql 有关“InnoDB Error ib_logfile0 of different size”错误
  • mysql5.5与mysq 5.6中禁用innodb引擎的方法
  • MySQL禁用InnoDB引擎的方法
  • 可以改善mysql性能的InnoDB配置参数
  • 关于mysql innodb count(*)速度慢的解决办法
  • mysql中engine=innodb和engine=myisam的区别介绍
  • MySQL不支持InnoDB的解决方法
  • MySQL数据库INNODB表损坏修复处理过程分享
  • InnoDB引擎数据库主从复制同步新的分享
  • mysql Innodb表空间卸载、迁移、装载的使用方法


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3