第一部分:price_history表

# 建表语句

CREATE TABLE IF NOT EXISTS `price_history` (
`regionID` INT NOT NULL,
`typeID` INT NOT NULL,
`date` DATE NOT NULL,
`lowPrice` DOUBLE NOT NULL,
`highPrice` DOUBLE NOT NULL,
`avgPrice` DOUBLE NOT NULL,
`volume` INT NOT NULL,
`orders` INT NOT NULL
COMMENT 'regionID,typeID,date,lowPrice,highPrice,avgPrice,volume,orders',
INDEX `regionID`(`regionID`),
INDEX `typeID`(`typeID`),
INDEX `date`(`date`),
INDEX `lowPrice`(`lowPrice`),
INDEX `highPrice`(`highPrice`),
INDEX `avgPrice`(`avgPrice`),
INDEX `volume`(`volume`),
INDEX `orders`(`orders`)
)
ENGINE = InnoDB
DEFAULT CHARSET = UTF8MB4;

考虑到price字段使用FLOAT/DOUBLE类型会有精度问题(FLOAT 4个字节,有效数字6位;DOUBLE 8个字节,有效数字16位。)

# 优化以后的建表语句,关于DECIMAL请参见 https://dev.mysql.com/doc/refman/5.7/en/precision-math-decimal-characteristics.html

CREATE TABLE IF NOT EXISTS `price_history` (
`regionID` INT NOT NULL,
`typeID` INT NOT NULL,
`date` DATE NOT NULL,
`lowPrice` DECIMAL(17, 4) NOT NULL,
`highPrice` DECIMAL(17, 4) NOT NULL,
`avgPrice` DECIMAL(17, 4) NOT NULL
COMMENT 'The max(highPrice) is 700,000,000,000',
`volume` INT NOT NULL,
`orders` INT NOT NULL
COMMENT 'regionID,typeID,date,lowPrice,highPrice,avgPrice,volume,orders',
INDEX `regionID`(`regionID`),
INDEX `typeID`(`typeID`),
INDEX `date`(`date`),
INDEX `lowPrice`(`lowPrice`),
INDEX `highPrice`(`highPrice`),
INDEX `avgPrice`(`avgPrice`),
INDEX `volume`(`volume`),
INDEX `orders`(`orders`)
)
ENGINE = InnoDB
DEFAULT CHARSET = UTF8MB4;

接下来进行数据的导入,表空间占用累计为70223M。

# 数据导入
LOAD DATA LOCAL INFILE '/root/priceHistory.txt' INTO TABLE price_history FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'; MySQL [eveonline_price]> LOAD DATA LOCAL INFILE '/root/priceHistory.txt' INTO TABLE price_history FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
Query OK, 269257439 rows affected, 14686 warnings (5 hours 25 min 41.31 sec)
Records: 269257439 Deleted: 0 Skipped: 0 Warnings: 14686

第二部分:typeid表

首先,从网上下载比较新的typeID文件,然后进行适当的处理:首先去掉第一和第二行,然后将空格分割的文件进行处理,以逗号进行分割。

# 下载下来的文件保存为download.txt,处理后文件保存为typeID.txt
with open('typeID.txt', mode='w', encoding="UTF-8") as out: for line in open('download.txt', mode='r', encoding="UTF-8"): line = re.sub(r'\s+', ' ', line).split()
key= line[0]
name = ' '.join(line[1:]) out.write(key + ',' + name + "\n")

建立typeid表

# MySQL数据库字段支持大小写,但是底层一律转换成小写(typeID和typeid是同一字段)

CREATE TABLE IF NOT EXISTS `typeid` (
`typeID` MEDIUMINT PRIMARY KEY,
`typeName` VARCHAR(90) NOT NULL,
INDEX `typeName`(`typeName`)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = UTF8MB4;

经过对文件的读取判断,typeName字段最长为78个字符,这里留90字符作为保留量。接下来进行数据的导入,

LOAD DATA LOCAL INFILE '/root/typeID.txt' INTO TABLE typeid FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';

Importing market data into Excel,如何将市场数据导入Excel

USING ESI WITH GOOGLE SHEETS,将ESI和Google Sheets配合使用

Marketplace,CCP官方论坛交易市场

EVE Online Intelligence Data,Tools and data you need to succeed in EVE Online

EVE Trade,暂时不知道做什么用

EVE Online price history download link,大小

Development Blog,开发者日志

MySQL部分知识:

EVE Online Third Party Development的更多相关文章

  1. Beginners Guide To Web Development

    Web Development Front End Development Back End Development

  2. iOS---The maximum number of apps for free development profiles has been reached.

    真机调试免费App ID出现的问题The maximum number of apps for free development profiles has been reached.免费应用程序调试最 ...

  3. [转] Agile Software Development 敏捷软件开发

    原文作者:kkun 原文地址:http://www.cnblogs.com/kkun/archive/2011/07/06/agile_software_development.html 敏捷是什么 ...

  4. 《3D Math Primer for Graphics and Game Development》读书笔记2

    <3D Math Primer for Graphics and Game Development>读书笔记2 上一篇得到了"矩阵等价于变换后的基向量"这一结论. 本篇 ...

  5. 《3D Math Primer for Graphics and Game Development》读书笔记1

    <3D Math Primer for Graphics and Game Development>读书笔记1 本文是<3D Math Primer for Graphics and ...

  6. 软件开发流程 Software development process

    软件开发流程(Software development process)即软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法.软件的总体结构设计和模块设计.编程和调试.程序联调和测试以 ...

  7. 翻译:常见问题——ABAP Development Tools for Eclipse

    ABAP Development Tools for Eclipse(简称ADT)是一个基于Eclipse的全新ABAP IDE,这篇文档试图回答有关ADT的最重要的常见问题.这只是一个开始,如果你对 ...

  8. React Native 红屏之Could not connect to development server.

    React Native 是目前最火的开发框架,其他不说了,上Bug. 按照  React Native iOS环境搭建 高级版 在mac上  搭建 React Native  环境,运行 项目 若出 ...

  9. Microsoft Client Development MVP 2013 - 2014

    周末一直沉浸在醉意中,为婚礼忙忙碌碌了一个月,终于完成了人生一大喜事. 清晨仍旧有一些宿醉得感觉, 看到来自微软的邮件,获得Microsoft Client Development MVP 2013 ...

随机推荐

  1. 怎么样imageview实现铺满全屏

    <ImageView android:layout_width="match_parent" android:layout_height="match_parent ...

  2. 全网最详细的Windows系统里PLSQL Developer 32bit的下载与安装过程(图文详解)

    不多说,直接上干货! 注意的是: 本地若没有安装Oracle服务端,Oracle server服务端32位,是远程连接,因此本地配置PLSQL Developer32位. PLSQL Develope ...

  3. php -- 文件上传下载

    ----- 026-upload.php ----- <!DOCTYPE html> <html> <head> <meta http-equiv=" ...

  4. 前端通信:ajax设计方案(八)--- 设计请求池,复用请求,让前端通信快、更快、再快一点

    直接进入主题,本篇文章有点长,包括从设计阶段,到摸索阶段,再到实现阶段,最后全面覆盖测试阶段(包括数据搜集清洗),还有与主流前端通信框架进行对比PK阶段. 首先介绍一下一些概念: 1. 浏览器的并发能 ...

  5. Hibernate的集合一对多与多对一

    需求:   部门与员工 一个部门有多个员工;       [一对多] 多个员工,属于一个部门    [多对一] 1.javaBean ——Dept.java package com.gqx.oneto ...

  6. 单例模式——java设计模式

    单例模式 目录: 一.何为单例 二.使用Java EE实现单例模式 三.使用场景 一.何为单例 确保一个类只有一个实例,并且提供了实例的一个全局访问点 1.1 单例模式类图               ...

  7. 20-hadoop-pagerank的计算

    转: http://www.cnblogs.com/rubinorth/p/5799848.html 参考尚学堂视频 1, 概念( 来自百度百科) PageRank是Google专有的算法,用于衡量特 ...

  8. 《Netty权威指南》(一)走进 Java NIO

    目录 1.1 I/O 基础入门 1.1.1 Linux 网络 I/O 模型 1.1.2 I/O 多路复用技术 2. Java 的 I/O 演进   1.1 I/O 基础入门 Java1.4 之前的早期 ...

  9. 软件架构设计学习总结(19):详解分布式系统中的session同步问题

    几周前,有个盆友问老王,说现在有多台服务器,怎么样来解决这些服务器间的session同步问题?老王一下就来精神了,因为在n年以前,老王还在学校和几个同学一起所谓创业的时候,也遇到了类似的问题.当时查了 ...

  10. intellij idea 怎么全局搜索--转

    https://jingyan.baidu.com/article/29697b9163ac7dab20de3cbf.html intellij idea是一款智能,功能强大的ide,对比eclips ...