План исследований., страница 4

Соединения

  • Left (~outer) (внешнее соединение n таблиц с n+1)
    • 2 таблицы (общее число строк)
      • Informix
        • Select Phones.Class, Phone_class.Description FROM Phones, outer Phone_class where Phones.Class=Phone_class.Class
      • MS SQL Server
        • Select Phones.Class, Phone_class.Description FROM Phones LEFT  OUTER JOIN Phone_class ON Phones.Class= Phone_class.Class
      • DB2
        • Select
    • 3 таблицы
      • Informix
        • Select Phones.Class, Phone_class.Description, Phones.Type, Phone_type.Description FROM Phones, outer Phone_class, outer Phone_type where Phones.Class = Phone_class.Class and Phones.Type = Phone_type.Type
      • MS SQL Server
        • Select Phones.Class, Phone_class.Description, Phones.Type, Phone_type.Description FROM Phones LEFT  OUTER JOIN Phone_class ON Phones.Class= Phone_class.Class LEFT OUTER JOIN Phone_type ON Phone_type.Type = Phones.Type
      • DB2
        • Select
    • 4 таблицы
      • Informix
        • Select Phones.Class, Phone_class.Description, Phones.Type, Phone_type.Description, Phones.ATS_number, ATS.Type FROM Phones, outer Phone_class, outer Phone_type, outer ATS where Phones.Class = Phone_class.Class and Phones.Type = Phone_type.Type and Phones.ATS_number = ATS.ATS_number
      • MS SQL Server
        • Select Phones.Class, Phone_class.Description, Phones.Type, Phone_type.Description, Phones.ATS_number, ATS.Type FROM Phones LEFT  OUTER JOIN Phone_class ON Phones.Class= Phone_class.Class LEFT OUTER JOIN Phone_type ON Phone_type.Type = Phones.Type  LEFT OUTER JOIN ATS ON ATS.ATS_number = Phones.ATS_number
      • DB2
        • Select
    • 5 таблиц
      • Informix
        • Select Phones.Class, Phone_class.Description, Phones.Type, Phone_type.Description, Phones.ATS_number, ATS.Type, Phones.Priv_type, Privileges.Description FROM Phones, outer Phone_class, outer Phone_type, outer ATS, outer Privileges where Phones.Class = Phone_class.Class and Phones.Type = Phone_type.Type and Phones.ATS_number = ATS.ATS_number and Phones.Priv_type = Privileges.Priv_type
      • MS SQL Server
        • Select Phones.Class, Phone_class.Description, Phones.Type, Phone_type.Description, Phones.ATS_number, ATS.Type FROM Phones LEFT  OUTER JOIN Phone_class ON Phones.Class= Phone_class.Class LEFT OUTER JOIN Phone_type ON Phone_type.Type = Phones.Type LEFT OUTER JOIN ATS ON ATS.ATS_number = Phones.ATS_number LEFT OUTER JOIN Privileges ON Phones.Priv_type = Privileges.Priv_type
      • DB2
        • Select
  • простое внешнее соединение (Cross) (число таблиц 2, 3, 4, 5)
    • Informix, MS SQL Server
      • Select Regions.Region_code, Payments.Payment_date from Regions, Payments
      • Select Regions.Region_code, Payments.Payment_date, Charges.Indebtedness from Regions, Payments, Charges
      • Select Regions.Region_code, Payments.Payment_date, Charges.Indebtedness, Phones.Number from Regions, Payments, Charges, Phones
      • Select Regions.Region_code, Payments.Payment_date, Charges.Indebtedness, Phones.Number, ATS.ATS_number from Regions, Payments, Charges, Phones, ATS
    • DB2
      • Select

Индексы

·  Время создания индексов (число столбцов в индексе 1,2,…,5)

o  Create index in1 ON Phones (Number)

o  Create index in2 ON Phones (Number, ATS_number)

o  Create index in3 ON Phones (Number, ATS_number, Class)

o  Create index in4 ON Phones (Number, ATS_number, Class, Type)

o  Create index in5 ON Phones (Number, ATS_number, Class, Type, Priv_type)

·  Проверка всех перечисленных выше пунктов, используя индексированные столбцы

·  Сравнение результатов для индексированных и неиндексированных столбцов (насколько использование индексов увеличивает скорость выбора данных).