现有商品表(商品号,商品名,商品价格,商品描述),销售表(顾客号,商品号,销售数量,销售日期)。关于性能优化有以下做法: Ⅰ.因为很少用到商品描述属性,可以将其单独存储 Ⅱ.因为经常按照商品名查询商品的销售数量,可以在销售表中添加商品名属性

admin2021-02-05  14

问题 现有商品表(商品号,商品名,商品价格,商品描述),销售表(顾客号,商品号,销售数量,销售日期)。关于性能优化有以下做法:
    Ⅰ.因为很少用到商品描述属性,可以将其单独存储
    Ⅱ.因为经常按照商品名查询商品的销售数量,可以在销售表中添加商品名属性
    Ⅲ.因为经常执行商品表和销售表之间的连接操作,可以将它们组织成聚集文件
    Ⅳ.因为经常按照商品号对销售表执行分组操作,可以将销售表组织成散列文件
    以上做法中,正确的是(    )。

选项 A、仅Ⅰ和Ⅱ和Ⅲ
B、仅Ⅰ、Ⅱ和Ⅳ
C、仅Ⅱ、Ⅲ和Ⅳ
D、全部都是

答案D

解析 Ⅰ:因为很少用到商品描述属性,系统在查询时也就很少查询,因此可以将其分割,这样虽然破坏了表的整体性,却可以将系统得到优化。
    Ⅱ:增加冗余列是指在多个表中增加具有相同语义的列,它常用来在查询时避免连接操作,值得一提的是,主码和外码在多表中重复出现不属于冗余列,这里指得冗余列是非关键字字段在多表的中的出现。
    由于表的连接操作是比较费时的,如果在表中增加冗余列,则在行上执行查询操作时不需要进行表的连接操作,从而提高了查询效率。
    Ⅲ:一个聚集是一组表,可将经常一起使用的具有同一公共列值的多个表中的数据行存储在一起。对于经常频繁一起查询的表,使用聚集比较方便。
    Ⅳ:通常在运行Order By和Group By语句时会涉及到排序的操作,尤其是对大型的表进行重复的排序,会引起磁盘很大的开销。而散列文件的优点是:文件随机存放,记录不需进行排序;插入、删除方便;存取速度快;不需要索引区,节省存储空间。因此带有Order By和Group By的表可以使用散列文件存储,提高查询效率。
转载请注明原文地址:https://jikaoti.com/ti/MQ37FFFM
0

最新回复(0)