3. СРАВНИТЕЛЬНЫЙ АНАЛИЗ ЭФФЕКТИВНОСТИ ВЫБОРА ДАННЫХ
Простые запросы
1. Выбор всех строк и столбцов (табл. 3.1)
Текст запроса: Select * from Phones
Время выборки (сек):
DB2 |
Informix |
MS SQL Server |
|||
инд. |
неинд. |
инд. |
неинд. |
инд. |
неинд. |
47 |
50 |
53 |
54 |
41 |
43 |
2. Выбор неповторяющихся строк (табл. 3.2)
Текст запроса: Select distinct numbers from Charges
Время выборки (сек):
DB2 |
Informix |
MS SQL Server |
|||
инд. |
неинд. |
инд. |
неинд. |
инд. |
неинд. |
23 |
36 |
28 |
47 |
8 |
13 |
3. Выбор с сортировкой (табл. 3.3)
Текст запроса: Select * from Phones ORDER BY имя_столбца [,…n];
ЧислоСтолбцов |
Время выполнения, сек |
|||||
DB2 |
Informix |
MS SQL Server |
||||
инд. |
неинд. |
инд. |
неинд. |
инд. |
неинд. |
|
1 |
58 |
82 |
112 |
157 |
17 |
17 |
2 |
69 |
96 |
114 |
159 |
46 |
48 |
3 |
73 |
101 |
115 |
160 |
47 |
49 |
4 |
74 |
103 |
115 |
160 |
49 |
51 |
5 |
75 |
104 |
116 |
160 |
53 |
55 |
Рис. 3.1 Выбор с сортировкой для неиндексированной базы данных
Рис. 3.2 Выбор с сортировкой для индексированной базы данных
Рис. 3.3 Выбор с сортировкой для индексированной и неиндексированной базы данных для MS SQL Server
Рис. 3.4 Выбор с сортировкой для индексированной и неиндексированной базы данных для Informix
Рис. 3.5 Выбор с сортировкой для индексированной и неиндексированной базы данных для DB2
4. Выбор строк, удовлетворяющих условию:
4.1. Простое условие (>, <, =) (табл. 3.4)
Текст запроса:
Select * from phones where number >500000;
Select * from phones where number <500000;
Select * from phones where number = 500000;
Условиевыбора |
Время выполнения, сек |
|||||
DB2 |
Informix |
MS SQL Server |
||||
инд. |
неинд. |
инд. |
неинд. |
инд. |
неинд. |
|
> |
17 |
18 |
32 |
33 |
9 |
10 |
< |
17 |
18 |
32 |
33 |
9 |
10 |
= |
3 |
3 |
4 |
4 |
0 |
0 |
4.2. Сравнение по реализации «x Between А and B» и «A<=x<=B» (табл. 3.5)
Текст запроса:
Select * from phone_class where class between 300000 and 600000
Select * from phone_class where class >= 300000 and class <=600000
Условиевыбора |
Время выполнения, сек |
|||||
DB2 |
Informix |
MS SQL Server |
||||
инд. |
неинд. |
инд. |
неинд. |
инд. |
неинд. |
|
x Between A and B |
8 |
9 |
14 |
15 |
4 |
4 |
A <= x <= B |
8 |
9 |
14 |
15 |
4 |
4 |
4.3. Выбор по шаблону (табл. 3.6)
Текст запроса:
1. Select * from abonents where surname like ‘Surname_51550%’;
2. Select * from abonents where surname like ‘Surname_5155%’;
3. Select * from abonents where surname like ‘Surname_515%’;
4. Select * from abonents where surname like ‘Surname_5%’;
Номерзапроса |
Время выполнения, сек |
|||||
DB2 |
Informix |
MS SQL Server |
||||
инд. |
неинд. |
Инд. |
неинд. |
инд. |
неинд. |
|
1 |
7 |
7 |
7 |
7 |
6 |
6 |
2 |
7 |
7 |
7 |
7 |
7 |
7 |
3 |
7 |
7 |
7 |
7 |
7 |
7 |
4 |
18 |
18 |
18 |
18 |
8 |
18 |
4.4. Сравнение реализации « х In (A, B, …, Z)» и «x=A, x=B, …, x=Z» (табл. 3.7)
Текст запроса:
1. Select * from regions where region_code in (12, 147, 1236, 18945, 123456, 10254, 159357, 14789, 12369, 14789);
2. Select * from regions where region_code=12 or region_code=147 or region_code=1236 or region_code=18945 or region_code=123456 or region_code=10254 or region_code=159357 or region_code=14789 or region_code=12369 or region_code=14789;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.