0

我正在尝试将维基百科访问日志(http://dumps.wikimedia.org/other/pagecounts-raw/)导入 mysql 以供内部使用。
目标:绘制一天/网址图

维基百科文件名包含日期和时间,并具有以下结构:
语言 url 访问 size_of_answer

我当前的数据库结构:

表格网址:
url_id;url_string;语言  
一切的索引

餐桌访问:  
访问id;url_id;day_stamp;visits_count  
一切的索引

表温度:  
访问id;url_id;url_string;语言;visits_count;day_stamp

MySQL引擎:InnoDB

当前方法:

  1. 我过滤原始日志只让我感兴趣。过滤后的文件包含 ca 250k 行,并具有“临时”表的结构。
  2. 使用 LOAD DATA INFILE 将此文件导入“temp”。
  3. 在“temp”中为现有 url 设置 url_id(更新...在 url_strings 上使用 url 加入 temp)。
  4. 将 url 从“temp”插入到“urls”,其中 temp.url_id=0
  5. 为现有的 url 再次设置“temp”中的 url_id(更新...在 url_strings 上使用 url 加入 temp)。
  6. 为现有访问行设置“临时”中的访问 ID(更新...加入临时访问 url_id)。
  7. 插入来自“temp”的访问,其中visits_id=0
  8. 从“temp”更新访问,其中 visit_id!=0

所有这些最多需要 5 分钟才能导入。

这里有更快的方法吗?另一个步骤,另一个数据库?

4

0 回答 0