导入数据:(已完成)
下载了MySQL Front(MF)之后,发现workbench也很好用,所以都留下来了。MF的下载也非常简单,开源的都很好,还是中文版的。
是的,在使用QGEN之前要先安装数据库,然后在数据库中新建一个数据库,如果想要使用上面提到的那个测试脚本,有些参数在新建数据库时就要跟它保持一致。例如:数据库名:tpch(must)。
接下来就是数据导入数据库了。
直接在Query里执行创建数据库表结构,使用博客里给的sql语句。出现 Error Code 1046: No database Selectedthe default DB to be used ...解决方案,在create table 前加上一句use tpch(数据库名);。(txt已更新,sql文件已保存:tpch_tbl.sql)
表结构的创建就完成了。下面创建表约束条件:使用博客里的sql语句创建约束条件。博客里的语句关于外键的都是不对的,正确的外键格式:
ALTER TABLE 数据表名
ADD CONSTRAINT 外键别名 FOREIGN KEY (字段1.1,字段1.2,...,字段1.n) REFERENCES 表名(字段2.1,字段2.2,...,字段2.n);
更改后保存到txt文件,同时保存了sql文件:tbl_constraint.sql。
导入数据依旧是参考博客sql语句。导入数据需要点时间,而且还有warning。
只有PART和REGION里有数据,应该是失败了?
2018/7/19
解决方法,根据外键关联顺序,先执行无关联只含主键的表,然后执行外键关联已含数据的数据库表。
图:tpch数据库模式
其中Nation和Region数据量与SF无关; Nation是固定25,Region的5不是必然; LineItem的数据量是不严格的SF倍数。
然后在导入lineitem表时,用了一个多小时还是失败了。再试一次呗。其中一个博客说导入时长根据个人电脑,他的用了20+分钟,另一个说用了几分钟【白眼
插播:并没有失败,使用select count(1) from tpch.lineitem;查看表行数返回值是6001215,lineitem本就是一个与SF无关的大概在6000k*sf的数量,所以就不重新导入了,下次再测试导入时注意一下就可以了。