Соединения
- 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
- 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
- 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
- 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
- простое внешнее соединение (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
Индексы
·
Время создания индексов (число столбцов в индексе 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)
·
Проверка всех перечисленных выше пунктов, используя
индексированные столбцы
·
Сравнение результатов для индексированных и неиндексированных
столбцов (насколько использование индексов увеличивает скорость выбора данных).