5.数据查询
由于原始tpch脚本dss.ri中创建外键的语法不符合MySQL的格式要求,需要把引用表的列名也列举出来,同时,MySQL默认对表名大小写敏感,也要做相应的修改。为了便于在执行计划中辨认主键,对主键约束也采取命名方式。

































由于原始没有添加主键和外键的表执行查询的速度相当慢,比如第2个查询,基本不可能在可接受的时间内获得结果,因此,不进行原始表的测试,只测试添加主键和外键后的结果,同时测试所有表共享存储在单个表空间和每个表单独表空间的情况。鉴于MySQL在添加外键时同时创建了相应列上的索引,对查询影响较大,故分别测试只添加主键和添加主键和外键二种情况。
Innodb创建的主键是聚集主键,增加的空间非常少,甚至占用的空间比增加主键前的原始表还略有减少,这与它的索引存储和数据在一起有关。创建外键的同时,MySQL检查外键所在列是否有索引,如果没有,则自动创建索引,这与其他数据库的外键约束有所不同,因此创建外键后,表占用空间增加了。
创建主键后的表占用空间。


















