Π’Π°Π±Π»ΠΈΡ†Π° индСксов: ИндСкс скорости шин β€” Ρ‚Π°Π±Π»ΠΈΡ†Π°, Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ°

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π’Π°Π±Π»ΠΈΡ†Π° индСксов скорости. Π’Π°Π±Π»ΠΈΡ†Π° индСксов Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

Π’Π°Π±Π»ΠΈΡ†Π° индСксов скорости

Π’Π°Π±Π»ΠΈΡ†Π° индСксов Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

ИндСкс скорости

Допустимая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, ΠΊΠΌ/Ρ‡

ИндСкс Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

Допустимая Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°, ΠΊΠ³

ИндСкс Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

Допустимая Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°, ΠΊΠ³

B

50

0

45

100

800

C

60

1

46,2

101

825

D

65

2

47,5

102

850

E

70

3

48,7

103

875

F

80

4

50

104

900

G

90

5

51,5

105

925

J

100

6

53

106

950

K

110

7

54,5

107

975

L

120

8

56

108

1000

M

130

9

58

109

1030

N

140

10

60

110

1060

P

150

11

61,5

111

1090

Q

160

12

63

112

1120

R

170

13

65

113

1150

S

180

14

67

114

1180

T

190

15

69

115

1215

U

200

16

71

116

1250

H

210

17

73

117

1285

V

240

18

75

118

1320

W

270

19

77,5

119

1360

Y

300

20

80

120

1400

ZR

Π±ΠΎΠ»Π΅Π΅ 240

21

82,5

121

1450

22

85

122

1500

23

87,5

123

1550

24

90

124

1600

25

92,5

125

1650

26

95

126

1700

27

97

127

1750

28

100

128

1800

29

103

129

1850

30

106

130

1900

31

109

131

1950

32

112

132

2000

33

115

133

2060

34

118

134

2120

35

121

135

2180

36

125

136

2240

37

128

137

2300

38

132

138

2360

39

136

139

2430

40

140

140

2500

41

145

141

2575

42

150

142

2650

43

155

143

2725

44

160

144

2800

45

165

145

2900

46

170

146

3000

47

175

147

3075

48

180

148

3150

49

185

149

3250

50

190

150

3350

51

195

151

3450

52

200

152

3550

53

206

153

3650

54

212

154

3750

55

218

155

3875

56

224

156

4000

57

230

157

4125

58

236

158

4250

59

243

159

4375

60

250

160

4500

61

257

161

4625

62

265

162

4750

63

272

163

4875

64

280

164

5000

65

290

165

5150

66

300

166

5300

67

307

167

5450

68

315

168

5600

69

325

169

5800

70

335

170

6000

71

345

171

6150

72

355

172

6300

73

365

173

6500

74

375

174

6700

75

387

175

6900

76

400

176

7100

77

412

177

7300

78

425

178

7500

79

437

179

7750

80

450

180

8000

81

462

181

8250

82

475

182

8500

83

487

183

8750

84

500

184

9000

85

515

185

9250

86

530

186

9500

87

545

187

9750

88

560

188

10000

89

580

189

10300

90

600

190

10600

91

615

191

10900

92

630

192

11200

93

650

193

11500

94

670

194

11800

95

690

195

12150

96

710

196

12500

97

730

197

12850

98

750

198

13200

99

775

199

13600

Поиск ΠΏΠΎ Π°Ρ€Ρ‚ΠΈΠΊΡƒΠ»Ρƒ

Бтатус Π·Π°ΠΊΠ°Π·Π°

Π¨Π°Π±Π»ΠΎΠ½ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ индСксов — Azure Architecture Center

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄Π°Π½Π½Ρ‹Ρ… индСксов ΠΏΠΎ полям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² запросах. Π­Ρ‚ΠΎΡ‚ шаблон ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ запросов, ускоряя поиск Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ· Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°.

ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°

Π’ ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°Ρ… Π΄Π°Π½Π½Ρ‹Π΅ для ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ сущностСй ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°. Π­Ρ‚ΠΎΡ‚ ΠΊΠ»ΡŽΡ‡ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ для поиска ΠΈ извлСчСния Π΄Π°Π½Π½Ρ‹Ρ…. На рисункС прСдставлСн ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π΄Π°Π½Π½Ρ‹Ρ… со свСдСниями ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ…. ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ β€” это ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. На рисункС прСдставлСны свСдСния ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, упорядочСнныС ΠΏΠΎ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠΌΡƒ ΠΊΠ»ΡŽΡ‡Ρƒ (ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°).

ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для запросов Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° основС Π΅Π³ΠΎ значСния. Но Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° основС Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ поля, ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Π½Π΅ всСгда ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ для поиска ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ (ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°), Ссли Π΄Π°Π½Π½Ρ‹Π΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎ ссылкС Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π³ΠΎΡ€ΠΎΠ΄Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится ΠΊΠ»ΠΈΠ΅Π½Ρ‚. Для выполнСния Ρ‚Π°ΠΊΠΎΠ³ΠΎ запроса ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ запись ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ довольно ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

МногиС систСмы управлСния рСляционными Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹Π΅ индСксы. Π’Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΉ индСкс β€” это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ структура Π΄Π°Π½Π½Ρ‹Ρ…, упорядочСнных ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ»ΠΈ нСскольким Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΌ (Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ) ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ полям. Π’Π°ΠΊΠΎΠΉ индСкс ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Π³Π΄Π΅ хранятся Π΄Π°Π½Π½Ρ‹Π΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ индСксированного значСния. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ индСкса ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ поиска Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊΠΈΠ΅ индСксы, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, автоматичСски ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ систСмой управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ любоС количСство Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹Ρ… индСксов для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… запросов, выполняСмых Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. НапримСр, Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ со свСдСниями ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ… Π² рСляционной Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π³Π΄Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° являСтся ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, стоит Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΉ индСкс Π½Π°Π΄ ΠΏΠΎΠ»Π΅ΠΌ Π³ΠΎΡ€ΠΎΠ΄Π°, Ссли Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ часто выполняСтся поиск ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠΎ Π³ΠΎΡ€ΠΎΠ΄Ρƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ находятся.

Однако, хотя Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹Π΅ индСксы часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² рСляционных систСмах, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π΄Π°Π½Π½Ρ‹Ρ… NoSQL, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹ΠΌΠΈ прилоТСниями, Π½Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

РСшСниС

Если Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹Π΅ индСксы, ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, создав собствСнныС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ индСксов. Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ индСксов Π΄Π°Π½Π½Ρ‹Π΅ ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ ΠΊΠ»ΡŽΡ‡Ρƒ. Для структурирования Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ индСксов ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Ρ€ΠΈ стратСгии. Π‘Ρ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ Π½Π° основС Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ³ΠΎ числа Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹Ρ… индСксов ΠΈ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π° запросов Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

ΠŸΠ΅Ρ€Π²Π°Ρ стратСгия β€” Π΄Π°Π½Π½Ρ‹Π΅ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ индСксов, Π½ΠΎ ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡Π°ΠΌ (полная дСнормализация). На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС прСдставлСны Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ индСксов, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° упорядочСны ΠΏΠΎ Π³ΠΎΡ€ΠΎΠ΄Ρƒ ΠΈ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ:

Π­Ρ‚Π° стратСгия ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚, Ссли Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ статичСскими ΠΏΡ€ΠΈ любом количСствС запросов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°. Если Π΄Π°Π½Π½Ρ‹Π΅ Π±ΠΎΠ»Π΅Π΅ динамичСскиС, Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° обслуТиваниС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ индСксов слишком Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΈ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ нСцСлСсообразСн. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ссли объСм Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‡Π΅Π½ΡŒ Π²Π΅Π»ΠΈΠΊ, трСбуСтся Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ пространство для хранСния Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Вторая стратСгия β€” ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ индСксов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ упорядочСны ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡Π°ΠΌ, ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ ссылки Π½Π° исходныС Π΄Π°Π½Π½Ρ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° (вмСсто ΠΈΡ… дублирования), ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ рисункС. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ Ρ„Π°ΠΊΡ‚ΠΎΠ².

Π­Ρ‚ΠΎΡ‚ способ позволяСт ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ мСсто ΠΈ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° обслуТиваниС Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. НСдостатком Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ трСбуСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΄Π²Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ поиска Π΄Π°Π½Π½Ρ‹Ρ… с использованиСм Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°. Π‘Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ для Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ индСксов, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для поиска Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Ρ„Π°ΠΊΡ‚ΠΎΠ².

Π’Ρ€Π΅Ρ‚ΡŒΡ стратСгия β€” ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ частично Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ индСксов, упорядочСнныС ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. Π’ Ρ‚Π°ΠΊΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ часто ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌΡ‹Π΅ поля. Для доступа ΠΊ Ρ€Π΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ полям Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ ссылки Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Ρ„Π°ΠΊΡ‚ΠΎΠ². На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ индСксов:

Π­Ρ‚Π° стратСгия обСспСчиваСт баланс ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°ΠΌΠΈ. Π”Π°Π½Π½Ρ‹Π΅ для часто выполняСмых запросов ΠΌΠΎΠΆΠ½ΠΎ быстро ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ поиска, Π° Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠ΅ пространство ΠΈ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° обслуТиваниС Π½Π΅ Ρ‚Π°ΠΊ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ всСго Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ….

Если ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ часто Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅, указывая сочСтаниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, «ΠΠ°ΠΉΡ‚ΠΈ всСх ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΆΠΈΠ²ΡƒΡ‚ Π² Π Π΅Π΄ΠΌΠΎΠ½Π΄Π΅ ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ Smith»), ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΊ элСмСнтам Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ индСксов Π² Π²ΠΈΠ΄Π΅ объСдинСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Town ΠΈ LastName. На ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ рисункС прСдставлСна Ρ‚Π°Π±Π»ΠΈΡ†Π° индСксов Π½Π° основС составных ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. ΠšΠ»ΡŽΡ‡ΠΈ ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ Π³ΠΎΡ€ΠΎΠ΄Ρƒ, Π° Π·Π°Ρ‚Π΅ΠΌ β€” ΠΏΠΎ фамилиям для записСй с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ значСниями Π³ΠΎΡ€ΠΎΠ΄Π°.

Π’Π°Π±Π»ΠΈΡ†Ρ‹ индСксов ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ запросов для сСгмСнтированных Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ особСнно ΠΏΠΎΠ»Π΅Π·Π½Ρ‹, ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΡŽΡ‡ сСгмСнта Ρ…ΡΡˆΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ. На ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ рисункС ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Π΄Π΅ ΠΊΠ»ΡŽΡ‡ сСгмСнта являСтся Ρ…ΡΡˆΠ΅ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ индСксов ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ Π½Π΅Ρ…ΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ (Π³ΠΎΡ€ΠΎΠ΄ ΠΈ фамилия) ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ…ΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ поиска. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ вычислСниС Ρ…ΡΡˆ-ΠΊΠ»ΡŽΡ‡Π΅ΠΉ (Ρ€Π΅ΡΡƒΡ€ΡΠΎΠ΅ΠΌΠΊΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ) Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Ссли трСбуСтся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΈΠ»ΠΈ Π² порядкС Π½Π΅Ρ…ΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. НапримСр, запрос Ρ‚ΠΈΠΏΠ° «ΠΠ°ΠΉΡ‚ΠΈ всСх ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΆΠΈΠ²ΡƒΡ‚ Π² Π Π΅Π΄ΠΌΠΎΠ½Π΄Π΅», ΠΌΠΎΠΆΠ½ΠΎ быстро Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, найдя ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ элСмСнты Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ индСксов, Π³Π΄Π΅ всС ΠΎΠ½ΠΈ хранятся Π² Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅. Π—Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ссылки Π½Π° Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ сСгмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хранятся Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ индСксов.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ

ΠŸΡ€ΠΈ принятии Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этого шаблона Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹.

  • Π—Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° обслуТиваниС Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹Ρ… индСксов ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ достаточно Π²Π΅Π»ΠΈΠΊΠΈ. НСобходимо ΠΈΠΌΠ΅Ρ‚ΡŒ прСдставлСниС ΠΎ запросах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² вашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…. Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ индСксов, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… рСгулярно. НС создавайтС тСорСтичСскиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ индСксов для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ запросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ лишь врСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

  • Π”ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ индСксов ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Π»Π΅Ρ‡ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ расходы Π½Π° Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ этом трСбуСтся обслуТиваниС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΏΠΈΠΉ Π΄Π°Π½Π½Ρ‹Ρ….

  • Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ индСксов Π² Π²ΠΈΠ΄Π΅ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ структуры, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ добавляСтся ссылка Π½Π° исходныС Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ трСбуСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄Π²Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ поиска Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Π½Π°Ρ‡Π°Π»Π° выполняСтся поиск ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ индСксов, Π° Π·Π°Ρ‚Π΅ΠΌ этот ΠΊΠ»ΡŽΡ‡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для получСния Π΄Π°Π½Π½Ρ‹Ρ….

  • Если систСма содСрТит нСсколько Ρ‚Π°Π±Π»ΠΈΡ† индСксов для ΠΎΡ‡Π΅Π½ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΠ½ΠΎΠ³Π΄Π° Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ индСксов ΠΈ исходными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. МоТно Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° основС ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ согласованности. НапримСр, для вставки, обновлСния ΠΈΠ»ΠΈ удалСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ сообщСниС Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ обслуТивания Ρ‚Π°Π±Π»ΠΈΡ† индСксов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ асинхронно ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Π½Π° эти Π΄Π°Π½Π½Ρ‹Π΅. БвСдСния ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ согласованности Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счСтС см. Π² руководствС ΠΏΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ согласованности Π΄Π°Π½Π½Ρ‹Ρ….

    Π’Π°Π±Π»ΠΈΡ†Ρ‹ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Microsoft Azure ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ обновлСния Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ для измСнСния Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠ΄Π½ΠΎΠΉ сСкции (Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ транзакциями Π³Ρ€ΡƒΠΏΠΏΡ‹ сущностСй). ΠŸΡ€ΠΈ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… для Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Ρ„Π°ΠΊΡ‚ΠΎΠ² ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† индСксов Π² ΠΎΠ΄Π½ΠΎΠΉ сСкции Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ.

  • БобствСнно Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ индСксов Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΡΠ΅Π³ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Когда слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот шаблон

Π­Ρ‚ΠΎΡ‚ шаблон ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ запросов, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ часто трСбуСтся ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π°, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ (ΠΈΠ»ΠΈ ΠΊΠ»ΡŽΡ‡Π° сСгмСнтов).

Π­Ρ‚ΠΎΡ‚ шаблон ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ нСэффСктивным Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… случаях:

  • Π”Π°Π½Π½Ρ‹Π΅ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹. Π’Π°Π±Π»ΠΈΡ†Π° индСксов ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ быстро ΡΡ‚Π°Ρ‚ΡŒ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС Π½Π΅ стоит ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° обслуТиваниС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π²Ρ‹ΡΠΈΡ‚ΡŒ экономию ΠΎΡ‚ Π΅Π΅ примСнСния.
  • ПолС, Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ Π² качСствС Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° для Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ индСксов, Π½Π΅Π΄ΠΈΡ„Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСбольшой Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ»).
  • ЗначСния Π΄Π°Π½Π½Ρ‹Ρ… поля, Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Π² качСствС Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° для Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ индСксов, ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°Π·Ρ€ΠΎΠ·Π½Π΅Π½Ρ‹. НапримСр, Ссли для 90 % записСй Π² ΠΏΠΎΠ»Π΅ содСрТатся ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ значСния, созданиС ΠΈ обслуТиваниС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ индСксов для поиска Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° основС этого поля ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Π»Π΅Ρ‡ΡŒ большиС Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹, Ρ‡Π΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ просмотр Π΄Π°Π½Π½Ρ‹Ρ…. Но Ссли запросы часто ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ ΠΊ значСниями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТатся Π² ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ 10 % записСй, этот индСкс ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ прСдставлСниС ΠΎ запросах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ выполняСт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈ ΠΎΠ± ΠΈΡ… частотС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π’Π°Π±Π»ΠΈΡ†Ρ‹ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Azure ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π²Ρ‹ΡΠΎΠΊΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΎΠ±Π»Π°ΠΊΠ΅. Π’ прилоТСниях ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ значСния, ΡƒΠΊΠ°Π·Π°Π² ΠΊΠ»ΡŽΡ‡. ЗначСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ нСсколько ΠΏΠΎΠ»Π΅ΠΉ, Π½ΠΎ структура элСмСнта Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Π° для Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Ρ‚Π°Π±Π»ΠΈΡ†, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ элСмСнт Π΄Π°Π½Π½Ρ‹Ρ… просто обрабатываСтся ΠΊΠ°ΠΊ массив Π±Π°ΠΉΡ‚ΠΎΠ².

Π’Π°Π±Π»ΠΈΡ†Ρ‹ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Azure Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ сСгмСнтированиС. ΠšΠ»ΡŽΡ‡ сСгмСнтирования Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π΄Π²Π° элСмСнта: ΠΊΠ»ΡŽΡ‡ сСкции ΠΈ ΠΊΠ»ΡŽΡ‡ строки. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ с ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ сСкции хранятся Π² ΠΎΠ΄Π½ΠΎΠΉ сСкции (сСгмСнтС) Π² порядкС ΠΊΠ»ΡŽΡ‡Π΅ΠΉ строк. Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Ρ‚Π°Π±Π»ΠΈΡ† ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ для выполнСния запросов Π΄Π°Π½Π½Ρ‹Ρ… Π² Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для ΠΊΠ»ΡŽΡ‡Π° строки Π² сСкции. Если Π²Ρ‹ создаСтС ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ прилоТСния, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Π΅ хранятся Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… Azure, структурируйтС Π΄Π°Π½Π½Ρ‹Π΅ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

НапримСр, рассмотрим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ со свСдСниями ΠΎ Ρ„ΠΈΠ»ΡŒΠΌΠ°Ρ…. Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ часто Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ запросы Π½Π° Ρ„ΠΈΠ»ΡŒΠΌΡ‹ ΠΏΠΎ ΠΆΠ°Π½Ρ€Ρƒ (ΠΎΡΡ‚Ρ€ΠΎΡΡŽΠΆΠ΅Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΈΠ»ΡŒΠΌ, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„ΠΈΠ»ΡŒΠΌ, историчСский Ρ„ΠΈΠ»ΡŒΠΌ, комСдия, Π΄Ρ€Π°ΠΌΠ° ΠΈ Ρ‚. Π΄). МоТно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Azure с сСкциСй для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΆΠ°Π½Ρ€Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΆΠ°Π½Ρ€ Π² качСствС ΠΊΠ»ΡŽΡ‡Π° сСкции ΠΈ указывая Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΠΌΠ° Π² качСствС ΠΊΠ»ΡŽΡ‡Π° строки, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рисункС Π½ΠΈΠΆΠ΅:

Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΌΠ΅Π½Π΅Π΅ эффСктивСн, Ссли Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ запросы ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π°ΠΊΡ‚Π΅Ρ€ΠΎΠ². Π’ этом случаС ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Azure, которая Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ индСксов. ΠšΠ»ΡŽΡ‡ сСкции β€” это имя Π°ΠΊΡ‚Π΅Ρ€Π°, Π° ΠΊΠ»ΡŽΡ‡ строки β€” Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΠΌΠ°. Π”Π°Π½Π½Ρ‹Π΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°ΠΊΡ‚Π΅Ρ€Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ сСкции. Если Π² Ρ„ΠΈΠ»ΡŒΠΌΠ΅ снимаСтся нСсколько искомых Π°ΠΊΡ‚Π΅Ρ€ΠΎΠ², Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сСкциях.

МоТно Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ„ΠΈΠ»ΡŒΠΌΠ°, содСрТащиСся Π² значСниях Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ сСкции, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. Он описан Π²Ρ‹ΡˆΠ΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «Π Π΅ΡˆΠ΅Π½ΠΈΠ΅». Но Π΅ΡΡ‚ΡŒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„ΠΈΠ»ΡŒΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅ΠΏΠ»ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½ нСсколько Ρ€Π°Π· (ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°ΠΊΡ‚Π΅Ρ€Π°). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π»ΡƒΡ‡ΡˆΠ΅ частично Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ частых запросов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎ ΠΈΠΌΠ΅Π½Π°ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°ΠΊΡ‚Π΅Ρ€ΠΎΠ²). Π’Π°ΠΊΠΆΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для получСния всСх ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ Π΄Π°Π½Π½Ρ‹Ρ…, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠ»ΡŽΡ‡ сСкции, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для поиска ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² сСкциях для ΠΆΠ°Π½Ρ€Π°. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ описан ΠΊΠ°ΠΊ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «Π Π΅ΡˆΠ΅Π½ΠΈΠ΅». Он прСдставлСн Π½Π° рисункС Π½ΠΈΠΆΠ΅.

Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΠ΅ дСйствия

  • Руководство ΠΏΠΎ согласованности Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°Π±Π»ΠΈΡ†Ρ‹ индСксов Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ индСксируСмыС Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ. Иногда Π² ΠΎΠ±Π»Π°ΠΊΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ»ΠΈ Π½Π΅Ρ€Π΅Π½Ρ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ индСксы Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅. Π’ этом случаС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ согласованности являСтся Π±ΠΎΠ»Π΅Π΅ умСстным. Руководство содСрТит свСдСния ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠ°ΡΠ°ΡŽΡ‚ΡΡ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ согласованности.

ΠŸΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этого шаблона Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹:

  • Π¨Π°Π±Π»ΠΎΠ½ сСгмСнтирования. Π¨Π°Π±Π»ΠΎΠ½ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ индСксов часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сСкционированы с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ сСгмСнтов. Π¨Π°Π±Π»ΠΎΠ½ сСгмСнтирования прСдоставляСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π½Π°Π±ΠΎΡ€ сСгмСнтов.
  • Π¨Π°Π±Π»ΠΎΠ½ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ прСдставлСния. ВмСсто индСксирования Π΄Π°Π½Π½Ρ‹Ρ… для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ сводных запросов, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, цСлСсообразнСС ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ прСдставлСниС Π΄Π°Π½Π½Ρ‹Ρ…. Π—Π΄Π΅ΡΡŒ описано, ΠΊΠ°ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ сводных запросов, создав ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ….
Π¨Π°Π±Π»ΠΎΠ½ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ индСксов

β€” Π¦Π΅Π½Ρ‚Ρ€ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Azure

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ индСксы для ΠΏΠΎΠ»Π΅ΠΉ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ запросы. Π­Ρ‚ΠΎΡ‚ шаблон ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ запросов, позволяя прилоТСниям быстрСС Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ для извлСчСния ΠΈΠ· Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π΄Π°Π½Π½Ρ‹Ρ….

ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°

МногиС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ для Π½Π°Π±ΠΎΡ€Π° сущностСй с использованиСм ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΊΠ»ΡŽΡ‡ для поиска ΠΈ извлСчСния Π΄Π°Π½Π½Ρ‹Ρ…. На рисункС ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π΄Π°Π½Π½Ρ‹Ρ…, содСрТащСго ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ…. ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ β€” это ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. На рисункС ΠΏΠΎΠΊΠ°Π·Π°Π½Π° информация ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, упорядочСнная ΠΏΠΎ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠΌΡƒ ΠΊΠ»ΡŽΡ‡Ρƒ (Customer ID).

Π₯отя ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Ρ†Π΅Π½Π΅Π½ для запросов, ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° основС значСния этого ΠΊΠ»ΡŽΡ‡Π°, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ возмоТности ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡, Ссли Π΅ΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° основС ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ поля. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° для извлСчСния ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², Ссли ΠΎΠ½ΠΎ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ со ссылкой Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π³ΠΎΡ€ΠΎΠ΄Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится ΠΊΠ»ΠΈΠ΅Π½Ρ‚. Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ запрос, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ запись ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌ процСссом.

МногиС систСмы управлСния рСляционными Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹Π΅ индСксы. Π’Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΉ индСкс β€” это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ структура Π΄Π°Π½Π½Ρ‹Ρ…, организованная ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ нСсколькими Π½Π΅ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΌΠΈ (Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΌΠΈ) ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ полями ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ, Π³Π΄Π΅ хранятся Π΄Π°Π½Π½Ρ‹Π΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ индСксированного значСния. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ индСкса ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ быстрый поиск Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΈ индСксы ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ автоматичСски ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ систСмой управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹Ρ… индСксов, сколько Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… запросов, выполняСмых вашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. НапримСр, Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Β«ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρ‹Β» Π² рСляционной Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π³Π΄Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° являСтся ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΉ индСкс ΠΊ полю Π³ΠΎΡ€ΠΎΠ΄Π°, Ссли ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ часто ΠΈΡ‰Π΅Ρ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠΎ Π³ΠΎΡ€ΠΎΠ΄Ρƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ ΠΏΡ€ΠΎΠΆΠΈΠ²Π°ΡŽΡ‚.

Однако, хотя Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹Π΅ индСксы распространСны Π² рСляционных систСмах, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π΄Π°Π½Π½Ρ‹Ρ… NoSQL, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹ΠΌΠΈ прилоТСниями, Π½Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ эквивалСнтной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

РСшСниС

Если Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹Π΅ индСксы, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, создав собствСнныС индСксныС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ИндСксная Ρ‚Π°Π±Π»ΠΈΡ†Π° упорядочиваСт Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ ΠΊΠ»ΡŽΡ‡Ρƒ. Для структурирования Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ индСксов ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Ρ€ΠΈ стратСгии, Π² зависимости ΠΎΡ‚ количСства Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Ρ… Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹Ρ… индСксов ΠΈ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π° запросов, выполняСмых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

ΠŸΠ΅Ρ€Π²Π°Ρ стратСгия Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ индСксной Ρ‚Π°Π±Π»ΠΈΡ†Π΅, Π½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΡ… ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡Π°ΠΌ (полная дСнормализация). На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ индСксныС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ информация ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ… ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎ Π³ΠΎΡ€ΠΎΠ΄Π°ΠΌ ΠΈ фамилиям.

Π­Ρ‚Π° стратСгия ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚, Ссли Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ статичны ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ‚Π΅ΠΌ, сколько Ρ€Π°Π· ΠΎΠ½ΠΈ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π»ΠΈΡΡŒ с использованиСм ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°. Если Π΄Π°Π½Π½Ρ‹Π΅ Π±ΠΎΠ»Π΅Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½Ρ‹, Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ индСксной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ становятся слишком большими, Ρ‡Ρ‚ΠΎΠ±Ρ‹ этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π±Ρ‹Π» ΠΏΠΎΠ»Π΅Π·Π΅Π½. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ссли объСм Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‡Π΅Π½ΡŒ Π²Π΅Π»ΠΈΠΊ, объСм пространства, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для хранСния ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Π΄Π°Π½Π½Ρ‹Ρ…, Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π΅Π½.

Вторая стратСгия Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² создании Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… индСксных Ρ‚Π°Π±Π»ΠΈΡ†, ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡Π°ΠΌ, ΠΈ ссылки Π½Π° исходныС Π΄Π°Π½Π½Ρ‹Π΅ с использованиСм ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°, Π° Π½Π΅ Π΅Π³ΠΎ дублирования, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ Ρ„Π°ΠΊΡ‚ΠΎΠ².

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ экономит мСсто ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ…ΡΡ Π΄Π°Π½Π½Ρ‹Ρ…. НСдостатком являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΄Π²Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ поиска, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ с использованиСм Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°. Он Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ для Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ индСксов, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ для поиска Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Ρ„Π°ΠΊΡ‚ΠΎΠ².

Π’Ρ€Π΅Ρ‚ΡŒΡ стратСгия Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² создании частично Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… индСксных Ρ‚Π°Π±Π»ΠΈΡ†, ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‚ часто ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌΡ‹Π΅ поля. Π‘ΡΡ‹Π»Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Ρ„Π°ΠΊΡ‚ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΌΠ΅Π½Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ полям. На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ индСксной Ρ‚Π°Π±Π»ΠΈΡ†Π΅.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой стратСгии Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ баланс ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ двумя ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°ΠΌΠΈ. Π”Π°Π½Π½Ρ‹Π΅ для распространСнных запросов ΠΌΠΎΠΆΠ½ΠΎ быстро ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ поиска, ΠΏΡ€ΠΈ этом Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ пространства ΠΈ обслуТивания Π½Π΅ Ρ‚Π°ΠΊ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹, ΠΊΠ°ΠΊ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ всСго Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ….

Если ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ часто Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅, указывая ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, «Найти всСх ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΆΠΈΠ²ΡƒΡ‚ Π² Π Π΅Π΄ΠΌΠΎΠ½Π΄Π΅ ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ Π‘ΠΌΠΈΡ‚Β»), Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΊ элСмСнтам Π² индСксной Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΊΠ°ΠΊ конкатСнация Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Town ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° LastName. На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС ΠΏΠΎΠΊΠ°Π·Π°Π½Π° индСксная Ρ‚Π°Π±Π»ΠΈΡ†Π° Π½Π° основС составных ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. ΠšΠ»ΡŽΡ‡ΠΈ ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ Π“ΠΎΡ€ΠΎΠ΄Ρƒ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎ Π€Π°ΠΌΠΈΠ»ΠΈΠΈ для записСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для Π“ΠΎΡ€ΠΎΠ΄Π°.

Π’Π°Π±Π»ΠΈΡ†Ρ‹ индСксов ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ запросов ΠΊ сСгмСнтированным Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈ особСнно ΠΏΠΎΠ»Π΅Π·Π½Ρ‹, ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΡŽΡ‡ сСгмСнта Ρ…ΡΡˆΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ. На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΠ»ΡŽΡ‡ сСгмСнта являСтся Ρ…ΡΡˆΠ΅ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π’Π°Π±Π»ΠΈΡ†Π° индСксов ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ Π½Π΅Ρ…ΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ значСниям (Π“ΠΎΡ€ΠΎΠ΄ ΠΈ Ѐамилия) ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ сСгмСнта Π² качСствС Π΄Π°Π½Π½Ρ‹Ρ… поиска. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ вычислСния Ρ…Π΅Ρˆ-ΠΊΠ»ΡŽΡ‡Π΅ΠΉ (дорогостоящая опСрация), Ссли Π΅ΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, ΠΈΠ»ΠΈ Π΅ΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² порядкС Π½Π΅Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°. НапримСр, Ρ‚Π°ΠΊΠΎΠΉ запрос, ΠΊΠ°ΠΊ «Найти всСх ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΠΏΡ€ΠΎΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π² Π Π΅Π΄ΠΌΠΎΠ½Π΄Π΅Β», ΠΌΠΎΠΆΠ½ΠΎ быстро Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, найдя ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ элСмСнты Π² индСксной Ρ‚Π°Π±Π»ΠΈΡ†Π΅, Π³Π΄Π΅ всС ΠΎΠ½ΠΈ хранятся Π² Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅. Π—Π°Ρ‚Π΅ΠΌ слСдуйтС ссылкам Π½Π° Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠ»ΡŽΡ‡ΠΈ сСгмСнтов, хранящиСся Π² индСксной Ρ‚Π°Π±Π»ΠΈΡ†Π΅.

Вопросы ΠΈ сообраТСния

ΠŸΡ€ΠΈ принятии Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этого шаблона ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹:

  • НакладныС расходы Π½Π° обслуТиваниС Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹Ρ… индСксов ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ запросы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅ индСксныС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° прСдполагаСтся ΠΈΡ… рСгулярноС использованиС. НС создавайтС спСкулятивныС индСксныС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ запросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ выполняСт ΠΈΠ»ΠΈ выполняСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ врСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

  • Π”ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² индСксной Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹ΠΌ расходам Π½Π° Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ усилиям, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΏΠΈΠΉ Π΄Π°Π½Π½Ρ‹Ρ….

  • РСализация индСксной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² Π²ΠΈΠ΄Π΅ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ структуры, которая ссылаСтся Π½Π° исходныС Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚ прилоТСния выполнСния Π΄Π²ΡƒΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ поиска для поиска Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠ΅Ρ€Π²Π°Ρ опСрация ΠΈΡ‰Π΅Ρ‚ Π² индСксной Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡, Π° вторая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ для Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

  • Если систСма Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ нСсколько индСксных Ρ‚Π°Π±Π»ΠΈΡ† Π² ΠΎΡ‡Π΅Π½ΡŒ большиС Π½Π°Π±ΠΎΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ слоТно ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ индСксными Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ ΠΈ исходными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. МоТно Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° основС ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ согласованности. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ сообщСниС Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ индСксныС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ асинхронно ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Π½Π° эти Π΄Π°Π½Π½Ρ‹Π΅. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ согласованности см. Π² руководствС ΠΏΠΎ согласованности Π΄Π°Π½Π½Ρ‹Ρ….

    Π’Π°Π±Π»ΠΈΡ†Ρ‹ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Microsoft Azure ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ обновлСния для ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсСнных Π² Π΄Π°Π½Π½Ρ‹Π΅, хранящиСся Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅ (Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ транзакциями Π³Ρ€ΡƒΠΏΠΏ сущностСй). Если Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ для Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Ρ„Π°ΠΊΡ‚ΠΎΠ² ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… индСксных Ρ‚Π°Π±Π»ΠΈΡ† Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для обСспСчСния согласованности.

  • Π’Π°Π±Π»ΠΈΡ†Ρ‹ индСксов сами ΠΏΠΎ сСбС ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ сСкционированы ΠΈΠ»ΠΈ сСгмСнтированы.

Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот шаблон

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ этот шаблон для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ запросов, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ часто трСбуСтся ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π°, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° (ΠΈΠ»ΠΈ сСгмСнта).

Π­Ρ‚ΠΎΡ‚ шаблон ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ бСсполСзСн, ΠΊΠΎΠ³Π΄Π°:

  • Π”Π°Π½Π½Ρ‹Π΅ нСустойчивы. ИндСксная Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ быстро ΡƒΡΡ‚Π°Ρ€Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ сдСлаСт Π΅Π΅ нСэффСктивной ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π° обслуТиваниС индСксной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ прСвысят Π»ΡŽΠ±ΡƒΡŽ экономию, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ ΠΏΡ€ΠΈ Π΅Π΅ использовании.
  • ПолС, Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ Π² качСствС Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° для индСксной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π½Π΅ являСтся дискриминационным ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСбольшой Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ»).
  • Баланс Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Ρ… для поля, Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Π² качСствС Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° для индСксной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, сильно искаТСн. НапримСр, Ссли 90% записСй содСрТат ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ»Π΅, Ρ‚ΠΎΠ³Π΄Π° созданиС ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° индСксной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ для поиска Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° основС этого поля ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ большС Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Ρ… расходов, Ρ‡Π΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ сканированиС Π΄Π°Π½Π½Ρ‹Ρ…. Однако, Ссли запросы ΠΎΡ‡Π΅Π½ΡŒ часто Π½Π°Ρ†Π΅Π»Π΅Π½Ρ‹ Π½Π° значСния, Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ Π² ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ 10%, этот индСкс ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ запросы выполняСт вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΊΠ°ΠΊ часто ΠΎΠ½ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π’Π°Π±Π»ΠΈΡ†Ρ‹ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Azure ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° «ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅» для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π² ΠΎΠ±Π»Π°ΠΊΠ΅. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ значСния Π΄Π°Π½Π½Ρ‹Ρ…, указывая ΠΊΠ»ΡŽΡ‡. ЗначСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ нСсколько ΠΏΠΎΠ»Π΅ΠΉ, Π½ΠΎ структура элСмСнта Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Π° для Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ просто ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ элСмСнт Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΊ массив Π±Π°ΠΉΡ‚ΠΎΠ².

Π’Π°Π±Π»ΠΈΡ†Ρ‹ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Azure Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ сСгмСнтированиС. ΠšΠ»ΡŽΡ‡ сСгмСнтирования состоит ΠΈΠ· Π΄Π²ΡƒΡ… элСмСнтов: ΠΊΠ»ΡŽΡ‡Π° Ρ€Π°Π·Π΄Π΅Π»Π° ΠΈ ΠΊΠ»ΡŽΡ‡Π° строки. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π° хранятся Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ (сСгмСнтС), Π° элСмСнты хранятся Π² порядкС ΠΊΠ»ΡŽΡ‡Π° строки Π²Π½ΡƒΡ‚Ρ€ΠΈ сСгмСнта. Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Ρ‚Π°Π±Π»ΠΈΡ† ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ для выполнСния запросов, ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ Π² Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΠ»ΡŽΡ‡Π° строки Π² сСкции. Если Π²Ρ‹ создаСтС ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хранят ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… Azure, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свои Π΄Π°Π½Π½Ρ‹Π΅ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

НапримСр, рассмотрим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ„ΠΈΠ»ΡŒΠΌΠ°Ρ…. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ часто Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρ„ΠΈΠ»ΡŒΠΌΡ‹ ΠΏΠΎ ΠΆΠ°Π½Ρ€Π°ΠΌ (Π±ΠΎΠ΅Π²ΠΈΠΊΠΈ, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅, историчСскиС, ΠΊΠΎΠΌΠ΅Π΄ΠΈΠΈ, Π΄Ρ€Π°ΠΌΡ‹ ΠΈ Ρ‚. Π΄.). Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Azure с сСкциями для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΆΠ°Π½Ρ€Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΆΠ°Π½Ρ€ Π² качСствС ΠΊΠ»ΡŽΡ‡Π° сСкции ΠΈ ΡƒΠΊΠ°Π·Π°Π² имя Ρ„ΠΈΠ»ΡŒΠΌΠ° Π² качСствС ΠΊΠ»ΡŽΡ‡Π° строки, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС.

Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΌΠ΅Π½Π΅Π΅ эффСктивСн, Ссли ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ Ρ„ΠΈΠ»ΡŒΠΌΡ‹ ΠΏΠΎ Π°ΠΊΡ‚Π΅Ρ€Π°ΠΌ, ΠΈΠ³Ρ€Π°ΡŽΡ‰ΠΈΠΌ Π³Π»Π°Π²Π½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ. Π’ этом случаС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Azure, которая дСйствуСт ΠΊΠ°ΠΊ индСксная Ρ‚Π°Π±Π»ΠΈΡ†Π°. ΠšΠ»ΡŽΡ‡ Ρ€Π°Π·Π΄Π΅Π»Π° β€” это Π°ΠΊΡ‚Π΅Ρ€, Π° ΠΊΠ»ΡŽΡ‡ строки β€” это имя Ρ„ΠΈΠ»ΡŒΠΌΠ°. Π”Π°Π½Π½Ρ‹Π΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°ΠΊΡ‚Π΅Ρ€Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ…. Если Π² Ρ„ΠΈΠ»ΡŒΠΌΠ΅ задСйствовано Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π°ΠΊΡ‚Π΅Ρ€Π°, ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„ΠΈΠ»ΡŒΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ….

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ„ΠΈΠ»ΡŒΠΌΠ° Π² значСниях, хранящихся Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅, приняв ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, описанный Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «РСшСниС» Π²Ρ‹ΡˆΠ΅. Однако Π²ΠΏΠΎΠ»Π½Π΅ вСроятно, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„ΠΈΠ»ΡŒΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅ΠΏΠ»ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ нСсколько Ρ€Π°Π· (ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°ΠΊΡ‚Π΅Ρ€Π°), поэтому ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ эффСктивным частично Π΄Π΅Π½ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных запросов (Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°ΠΊΡ‚Π΅Ρ€ΠΎΠ²) ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ свСдСния, Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ² ΠΊΠ»ΡŽΡ‡ Ρ€Π°Π·Π΄Π΅Π»Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для поиска ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… ΠΆΠ°Π½Ρ€Π°. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ описан Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «РСшСниС». На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС ΠΏΠΎΠΊΠ°Π·Π°Π½ этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги

  • Π£Ρ‡Π΅Π±Π½ΠΈΠΊ ΠΏΠΎ согласованности Π΄Π°Π½Π½Ρ‹Ρ…. Π˜Π½Π΄Π΅ΠΊΡΠ½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ измСнСния Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½Π° индСксируСт. Π’ ΠΎΠ±Π»Π°ΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ ΠΈΠ»ΠΈ нСцСлСсообразным Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ обновлСнию индСкса ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, которая измСняСт Π΄Π°Π½Π½Ρ‹Π΅. Π’ этом случаС Π±ΠΎΠ»Π΅Π΅ подходящим являСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счСтС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ…, связанных с ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒΡŽ.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этого шаблона:

  • Π¨Π°Π±Π»ΠΎΠ½ раздСлСния. Π¨Π°Π±Π»ΠΎΠ½ индСксной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² сочСтании с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ осколков. Π¨Π°Π±Π»ΠΎΠ½ сСгмСнтирования прСдоставляСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Π½Π°Π±ΠΎΡ€ сСгмСнтов.
  • Π¨Π°Π±Π»ΠΎΠ½ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ прСдставлСния. ВмСсто индСксирования Π΄Π°Π½Π½Ρ‹Ρ… для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ запросов, ΠΎΠ±ΠΎΠ±Ρ‰Π°ΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Π΅, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ цСлСсообразным ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ прСдставлСниС Π΄Π°Π½Π½Ρ‹Ρ…. ΠžΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ эффСктивныС сводныС запросы ΠΏΡƒΡ‚Π΅ΠΌ создания ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ… прСдставлСний Π΄Π°Π½Π½Ρ‹Ρ….

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ индСксация | Π£Ρ‡Π΅Π±Π½ΠΎΠ΅ пособиС ΠΎΡ‚ Chartio

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ индСксация?

Π˜Π½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡ β€” это способ привСсти Π½Π΅ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡Π΅Π½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π² порядок, максимально ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‰ΠΈΠΉ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ запроса ΠΏΡ€ΠΈ поискС.

Когда Ρ‚Π°Π±Π»ΠΈΡ†Π° Π½Π΅ проиндСксирована, порядок строк, скорСС всСго, Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ распознан запросом ΠΊΠ°ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈ поэтому Π²Π°ΡˆΠ΅ΠΌΡƒ запросу придСтся ΠΈΡΠΊΠ°Ρ‚ΡŒ строки Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, запросы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ поиск ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ строки, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ условиям. Как Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, это ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ эффСктивСн.

НапримСр, Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅ прСдставлСна ​​таблица Π² Π²Ρ‹ΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΠΌ источникС Π΄Π°Π½Π½Ρ‹Ρ…, которая ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ нСупорядочСна.

компания_id блок unit_cost
10 12 1,15
12 12 1,05
14 18 1,31
18 18 1,34
11 24 1,15
16 12 1,31
10 12 1,15
12 24 1,3
18 6 1,34
18 12 1,35
14 12 1,95
21 18 1,36
12 12 1,05
20 6 1,31
18 18 1,34
11 24 1,15
14 24 1,05

Если Π±Ρ‹ ΠΌΡ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ запрос:

 SELECT
Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ,
Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ измСрСния,
ΡΠ΅Π±Π΅ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΈ
ОВ
index_test
Π“Π”Π•
ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€_ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ = 18
 

Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ поиск ΠΏΠΎ всСм 17 строкам Π² порядкС ΠΈΡ… появлСния Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅, свСрху Π²Π½ΠΈΠ·, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ Π·Π° Ρ€Π°Π·. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, для поиска всСх ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… экзСмпляров company_id число 18, Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всю Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ всСх Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ 18 Π² столбцС company_id .

Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ всС большС ΠΈ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ увСличСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. По ΠΌΠ΅Ρ€Π΅ услоТнСния Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅: Ρ‚Π°Π±Π»ΠΈΡ†Π° с ΠΎΠ΄Π½ΠΈΠΌ ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄ΠΎΠΌ строк соСдиняСтся с Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ с ΠΎΠ΄Π½ΠΈΠΌ ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄ΠΎΠΌ строк; запрос Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ поиск Π² ΡƒΠ΄Π²ΠΎΠ΅Π½Π½ΠΎΠΌ количСствС строк, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π² Π΄Π²Π° Ρ€Π°Π·Π° большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ это становится ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½Ρ‹ΠΌ Π² нашСм постоянно пСрСнасыщСнном Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠΈΡ€Π΅. Π’Π°Π±Π»ΠΈΡ†Ρ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ…, Π° врСмя выполнСния поиска увСличиваСтся.

Запрос ΠΊ нСиндСксированной Ρ‚Π°Π±Π»ΠΈΡ†Π΅, Ссли ΠΎΠ½ прСдставлСн Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ индСксация, Ρ‚Π°ΠΊ это настраиваСт столбСц, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находятся условия поиска, Π² отсортированном порядкС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ запроса.

Π‘ индСксом Π² столбцС company_id Ρ‚Π°Π±Π»ΠΈΡ†Π° Π±ΡƒΠ΄Π΅Ρ‚, ΠΏΠΎ сути, Β«Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒΒ» Ρ‚Π°ΠΊ:

company_id Π±Π»ΠΎΠΊ unit_cost
10 12 1,15
10 12 1,15
11 24 1,15
11 24 1,15
12 12 1,05
12 24 1,3
12 12 1,05
14 18 1,31
14 12 1,95
14 24 1,05
16 12 1,31
18 18 1,34
18 6 1,34
18 12 1,35
18 18 1,34
20 6 1,31
21 18 1,36

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ company_id Π½ΠΎΠΌΠ΅Ρ€ 18 ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ всС Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½Ρ‹Π΅ столбцы для этой строки, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строкС. Если Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строкС comapny_id Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π²Π΅Π½ 18, Ρ‚ΠΎΠ³Π΄Π° ΠΎΠ½ Π²Π΅Ρ€Π½Π΅Ρ‚ всС столбцы, Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½Ρ‹Π΅ Π² запросС. Если Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строкС company_id Ρ€Π°Π²Π΅Π½ 20, запрос ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°Π΅Ρ‚ поиск ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ индСксация?

На самом Π΄Π΅Π»Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Π° Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ пСрСупорядочиваСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ условий запроса для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ запроса: это Π±Ρ‹Π»ΠΎ Π±Ρ‹ нСрСалистично. На самом Π΄Π΅Π»Π΅ происходит Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ индСкс заставляСт Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ структуру Π΄Π°Π½Π½Ρ‹Ρ…. Π’ΠΈΠΏ структуры Π΄Π°Π½Π½Ρ‹Ρ…, скорСС всСго, B-Tree. НСсмотря Π½Π° мноТСство прСимущСств B-Π΄Π΅Ρ€Π΅Π²Π°, основноС прСимущСство для Π½Π°ΡˆΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Когда структура Π΄Π°Π½Π½Ρ‹Ρ… отсортирована ΠΏΠΎ порядку, это Π΄Π΅Π»Π°Π΅Ρ‚ наш поиск Π±ΠΎΠ»Π΅Π΅ эффСктивным ΠΏΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΡƒΠΊΠ°Π·Π°Π»ΠΈ Π²Ρ‹ΡˆΠ΅.

Когда индСкс создаСт структуру Π΄Π°Π½Π½Ρ‹Ρ… для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ столбца, Π²Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ столбСц Π½Π΅ сохраняСтся Π² структурС Π΄Π°Π½Π½Ρ‹Ρ…. Наша структура Π΄Π°Π½Π½Ρ‹Ρ… для ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΠΎΠΌΠ΅Ρ€Π° company_id . Units ΠΈ unit_cost Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² структурС Π΄Π°Π½Π½Ρ‹Ρ….

ΠžΡ‚ΠΊΡƒΠ΄Π° Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΠ·Π½Π°Π΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ Π΅Ρ‰Π΅ поля Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ?

Π˜Π½Π΄Π΅ΠΊΡΡ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ просто справочной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ располоТСнии Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² памяти. Π’ основном индСкс Π΄Π΅Ρ€ΠΆΠΈΡ‚ company_id ΠΈ домашний адрСс этой ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ строки Π½Π° дискС памяти. На самом Π΄Π΅Π»Π΅ индСкс Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

company_id ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ
10 _123
10 _129
11 _127
11 _138
12 _124
12 _130
12 _135
14 _125
14 _131
14 _133
16 _128
18 _126
18 _131
18 _132
18 _137
20 _136
21 _134

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого индСкса запрос ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строки Π² столбцС company_id , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ 18, Π° Π·Π°Ρ‚Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ указатСля ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ строку, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ находится этот ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *