服务器 频道

MySQL 5.0 的 Archive 存储引擎的真实性能

  【IT168 服务器学院】MySQL 5.0 引入了一种新的存储引擎 Archive,Archive 的用途主要在于把旧的历史数据归档存储。最近公司的一个广告效果统计系统(用的开源的 phpMyAds)的数据量达到了 2 千万级,而其中大部分的数据是去年的历史数据,由于和相关 vendor 的合作还没有结束所以不能删除,而这套系统现在的性能已经有些吃力。

  系统中的 2 千万条记录主要是分布在两张名为 ad_adviews 和 ad_adclicks 的表中。我在系统中执行了这两句 SQL 创建了以 Archive 引擎存储的新表 ad_adviews_archive_2005 和 ad_adclicks_archive_2005∶

  CREATE TABLE ad_adviews_archive_2005 ENGINE=archive AS SELECT * FROM ad_adviews WHERE t_stamp < ''2006-01-01 00:00:00'';

  CREATE TABLE ad_adclicks_archive_2005 ENGINE=archive AS SELECT * FROM ad_adclicks WHERE t_stamp < ''2006-01-01 00:00:00'';

  然后,在生成的新表 ad_adviews_archive_2005 中有 2,070,860 条记录,执行时间是∶

  Your SQL query has been executed successfully (Query took 48.0973 sec)

  ad_adclicks_archive_2005 中有 23,908,414 条记录,执行时间是∶

  Your SQL query has been executed successfully (Query took 466.2194 sec)

  由此可以大致算出在这个应用场景中 Archive 的 INSERT 性能大约在 51281 条记录每秒。所用服务器的配置是一台没有配置 RAID 的 Dell PowerEdge 1850,如果是在有 RAID 5 的服务器上性能肯定还要更好

0
相关文章