Сравнительный анализ эффективности выбора данных, страница 4

Число

Строк

Время выполнения, сек

DB2

Informix

MS SQL Server

инд.

неинд.

инд.

неинд.

инд.

неинд.

100000

3

8

5

12

2

4

300000

9

12

14

16

6

7

500000

12

16

22

22

9

11

700000

15

19

25

31

13

15

800000

16

20

26

32

14

15

Рис. 3.21 Группировка четырех столбцов

 для неиндексированной базы данных

Рис. 3.22 Группировка четырех столбцов

для индексированной базы данных


Рис. 3.23 Группировка для четырех столбцов индексированной и неиндексированной базы данных для MS SQL Server

Рис. 3.24 Группировка для четырех столбцов индексированной и неиндексированной базы данных для Informix


Рис. 3.25 Группировка для четырех столбцов индексированной и неиндексированной базы данных для DB2

1.5.  Группировка по пяти столбцам различного числа строк (табл. 3.14)

Текст запроса:

Select ats_number, class, type, off_code, priv_type, avg(off_code+priv_type-off_city_code), max(class)-min(type), sum(class-type) from phones where number < «ограничение на число строк» group by ats_number, class, type, off_code, priv_type

Таблица 3.14

Число

Строк

Время выполнения, сек

DB2

Informix

MS SQL Server

инд.

неинд.

инд.

неинд.

инд.

неинд.

100000

7

9

15

17

6

6

300000

21

23

45

45

20

23

500000

37

38

71

71

36

37

700000

46

51

97

97

43

45

800000

54

58

110

110

51

53

Рис. 3.26 Группировка по пяти столбцам

неиндексированной базы данных

Рис. 3.27 Группировка по пяти столбцам

индексированной базы данных


Рис. 3.28 Группировка по пяти столбцам индексированной и неиндексированной базы данных для MS SQL Server

Рис. 3.29 Группировка по пяти столбцам индексированной и неиндексированной базы данных для Informix


Рис. 3.30 Группировка по пяти столбцам индексированной и неиндексированной базы данных для DB2

2.  Группировка столбцов, используя конструкцию HAVING

2.1.  Группировка по одному столбцу различного числа строк (табл. 3.15)

Текст запроса:

Select distinct ats_number, avg(number), max(number), min(number) from phones where number < «ограничение на число строк» group by ats_number having ats_number > 15

Таблица 3.15

Число

Строк

Время выполнения, сек

DB2

Informix

MS SQL Server

инд.

неинд.

инд.

неинд.

инд.

неинд.

100000

2

2

2

5

0

0

300000

3

3

5

6

1

1

500000

4

4

7

10

2

2

700000

5

5

8

14

3

3

800000

5

5

9

17

3

3

Рис. 3.31 Группировка по одному столбцу