| | 176 | |
| | 177 | == View6: Flight Cargo Statistics (materialized view) |
| | 178 | |
| | 179 | 1. Примарното филтрирање на погледот !FlightCargoStatistics ќе биде според id на летот (flightId). |
| | 180 | 2. Примарен случај на употреба ќе биде извештај со статистика за багажот на одреден лет. |
| | 181 | 3. Времето на креирање на погледот е 12s 23ms, за извршување изнесува 409ms, а времето за refresh на погледот е 10s 915ms. |
| | 182 | |
| | 183 | Креирање на погледот |
| | 184 | |
| | 185 | [[Image(img105.jpg, width=800))]] |
| | 186 | |
| | 187 | Извршување |
| | 188 | |
| | 189 | [[Image(img106.jpg, width=800))]] |
| | 190 | |
| | 191 | Refresh |
| | 192 | |
| | 193 | [[Image(img107.jpg, width=800))]] |
| | 194 | |
| | 195 | Ова е прифатливо време за апликацијата, бидејќи query-то нема да се извршува многу често, па нема потреба од оптимизација. |
| | 196 | Времето изминато во извршување на операциите insert и update изнесува: |
| | 197 | |
| | 198 | [[Image(img108.jpg, width=800))]] |
| | 199 | |
| | 200 | [[Image(img109.jpg, width=800))]] |
| | 201 | |
| | 202 | [[Image(img110.jpg, width=800))]] |
| | 203 | |
| | 204 | [[Image(img111.jpg, width=800))]] |
| | 205 | |
| | 206 | |
| | 207 | == View7: Flight Details |
| | 208 | |
| | 209 | 1. Примарното филтрирање на погледот FlightDetails ќе биде според id на летот (flightId). |
| | 210 | 2. Примарен случај на употреба ќе биде приказ на детали за сите летови. |
| | 211 | 3. Иницијалното време на извршување на погледот е 355ms. |
| | 212 | |
| | 213 | [[Image(img114.jpg, width=800))]] |
| | 214 | |
| | 215 | [[Image(img115.jpg, width=800))]] |
| | 216 | |
| | 217 | Ова е прифатливо време за апликацијата, па затоа нема потреба од индексирање. |
| | 218 | |
| | 219 | 4. Времето изминато во извршување на операциите insert и update изнесува: |
| | 220 | |
| | 221 | [[Image(img118.jpg, width=800))]] |
| | 222 | |
| | 223 | [[Image(img119.jpg, width=800))]] |
| | 224 | |
| | 225 | 5. Нема потреба да се преуреди прашалникот. |
| | 226 | 6. Времето на извршување на операциите останува исто. |
| | 227 | |
| | 228 | == View8: Item Flight Details |
| | 229 | |
| | 230 | 1. Примарното филтрирање на погледот !ItemFlightDetails ќе биде според id на летот (flightId). |
| | 231 | 2. Примарен случај на употреба ќе биде приказ на тоа кои производи се продаваат на одреден лет и детали за број на продадени производи и заработка од тоа. |
| | 232 | 3. Иницијалното време на извршување на погледот е 354ms. |
| | 233 | |
| | 234 | [[Image(img122.jpg, width=800))]] |
| | 235 | |
| | 236 | [[Image(img123.jpg, width=800))]] |
| | 237 | |
| | 238 | Ова е прифатливо време за апликацијата, па затоа нема потреба од индексирање. |
| | 239 | |
| | 240 | 4. Времето изминато во извршување на операциите insert и update изнесува: |
| | 241 | |
| | 242 | [[Image(img124.jpg, width=800))]] |
| | 243 | |
| | 244 | [[Image(img125.jpg, width=800))]] |
| | 245 | |
| | 246 | 5. Нема потреба да се преуреди прашалникот. |
| | 247 | 6. Времето на извршување на операциите останува исто. |
| | 248 | |
| | 249 | == View9: Meal Flight Details |
| | 250 | |
| | 251 | 1. Примарното филтрирање на погледот !MealFlightDetails ќе биде според id на летот (flightId). |
| | 252 | 2. Примарен случај на употреба ќе биде приказ на тоа кои оброци се служат на одреден лет и детали за број на послужени и останати оброци. |
| | 253 | 3. Иницијалното време на извршување на погледот е 350ms. |
| | 254 | |
| | 255 | [[Image(img128.jpg, width=800))]] |
| | 256 | |
| | 257 | [[Image(img129.jpg, width=800))]] |
| | 258 | |
| | 259 | Ова е прифатливо време за апликацијата, па затоа нема потреба од индексирање. |
| | 260 | |
| | 261 | 4. Времето изминато во извршување на операциите insert и update изнесува: |
| | 262 | |
| | 263 | [[Image(img130.jpg, width=800))]] |
| | 264 | |
| | 265 | [[Image(img131.jpg, width=800))]] |
| | 266 | |
| | 267 | 5. Нема потреба да се преуреди прашалникот. |
| | 268 | 6. Времето на извршување на операциите останува исто. |
| | 269 | |
| | 270 | |
| | 271 | == View10: Mechanic Details |
| | 272 | |
| | 273 | 1. Примарното филтрирање на погледот !MechanicDetails ќе биде според id на механичарот (mechanicId). |
| | 274 | 2. Примарен случај на употреба ќе биде приказ на тоа кои поправки ги правел даден механичар. |
| | 275 | 3. Иницијалното време на извршување на погледот е 340ms. |
| | 276 | |
| | 277 | [[Image(img134.jpg, width=800))]] |
| | 278 | |
| | 279 | [[Image(img135.jpg, width=800))]] |
| | 280 | |
| | 281 | Ова е прифатливо време за апликацијата, па затоа нема потреба од индексирање. |
| | 282 | |
| | 283 | 4. Времето изминато во извршување на операциите insert и update изнесува: |
| | 284 | |
| | 285 | [[Image(img136.jpg, width=800))]] |
| | 286 | |
| | 287 | [[Image(img137.jpg, width=800))]] |
| | 288 | |
| | 289 | 5. Нема потреба да се преуреди прашалникот. |
| | 290 | 6. Времето на извршување на операциите останува исто. |
| | 291 | |
| | 292 | == View11: Passenger Loyalty Program (materialized view) |
| | 293 | |
| | 294 | 1. Примарното филтрирање на погледот !PassengerLoyaltyProgram ќе биде според id на патникот (passengerId). |
| | 295 | 2. Примарен случај на употреба ќе биде извештај со поените на патникот добиени од програмата за лојалност, колку пати летал, број на потрошени средства, најфреквентното место од каде што лета, како и најпосетуваната дестинација. |
| | 296 | 3. Времето на креирање на погледот е 17s 739ms, за извршување изнесува 409ms, а времето за refresh на погледот е 10s 915ms. |
| | 297 | |
| | 298 | Креирање на погледот |
| | 299 | |
| | 300 | [[Image(img140.jpg, width=800))]] |
| | 301 | |
| | 302 | Извршување |
| | 303 | |
| | 304 | [[Image(img141.jpg, width=800))]] |
| | 305 | |
| | 306 | Refresh |
| | 307 | |
| | 308 | [[Image(img142.jpg, width=800))]] |
| | 309 | |
| | 310 | Ова е прифатливо време за апликацијата, бидејќи query-то нема да се извршува многу често, па нема потреба од оптимизација. |
| | 311 | |
| | 312 | Времето изминато во извршување на операциите insert и update изнесува: |
| | 313 | |
| | 314 | [[Image(img143.jpg, width=800))]] |
| | 315 | |
| | 316 | [[Image(img144.jpg, width=800))]] |
| | 317 | |
| | 318 | |
| | 319 | == View12: Repair Details |
| | 320 | |
| | 321 | 1. Примарното филтрирање на погледот !RepairDetails ќе биде според id на авионот (flightId). |
| | 322 | 2. Примарен случај на употреба ќе биде приказ на детали за поправките на одреден авион. |
| | 323 | 3. Иницијалното време на извршување на погледот е 345ms. |
| | 324 | |
| | 325 | [[Image(img147.jpg, width=800))]] |
| | 326 | |
| | 327 | [[Image(img148.jpg, width=800))]] |
| | 328 | |
| | 329 | Ова е прифатливо време за апликацијата, па затоа нема потреба од индексирање. |
| | 330 | |
| | 331 | 4. Времето изминато во извршување на операциите insert и update изнесува: |
| | 332 | |
| | 333 | [[Image(img149.jpg, width=800))]] |
| | 334 | |
| | 335 | [[Image(img150.jpg, width=800))]] |
| | 336 | |
| | 337 | 5. Нема потреба да се преуреди прашалникот. |
| | 338 | 6. Времето на извршување на операциите останува исто. |
| | 339 | |
| | 340 | |
| | 341 | == View13: Seat Availability |
| | 342 | |
| | 343 | 1. Примарното филтрирање на погледот !SeatAvailability ќе биде според id на летот (flightId). |
| | 344 | 2. Примарен случај на употреба ќе биде приказ на тоа кои седишта се слободни, а кои не на одреден лет. |
| | 345 | 3. Иницијалното време на извршување на погледот е 441ms. |
| | 346 | |
| | 347 | [[Image(img153.jpg, width=800))]] |
| | 348 | |
| | 349 | [[Image(img154.jpg, width=800))]] |
| | 350 | |
| | 351 | Ова е прифатливо време за апликацијата, па затоа нема потреба од индексирање. |
| | 352 | |
| | 353 | 4. Времето изминато во извршување на операциите insert и update изнесува: |
| | 354 | |
| | 355 | [[Image(img155.jpg, width=800))]] |
| | 356 | |
| | 357 | [[Image(img156.jpg, width=800))]] |
| | 358 | |
| | 359 | 5. Нема потреба да се преуреди прашалникот. |
| | 360 | 6. Времето на извршување на операциите останува исто. |
| | 361 | |
| | 362 | == View14: Ticket Details |
| | 363 | |
| | 364 | 1. Примарното филтрирање на погледот !TicketDetails ќе биде според id на летот (flightId) или според id на патникот (passengerId). |
| | 365 | 2. Примарен случај на употреба ќе биде приказ на тоа кои карти ги има купено одреден патник, или кои патници треба да летаат на одреден лет. |
| | 366 | 3. Иницијалното време на извршување на погледот е 1s 88ms кога филтрираме според flightId, а кога филтрираме според passengerId изнесува 1s 333ms. |
| | 367 | |
| | 368 | [[Image(img159.jpg, width=800))]] |
| | 369 | |
| | 370 | [[Image(img160.jpg, width=800))]] |
| | 371 | |
| | 372 | [[Image(img161.jpg, width=800))]] |
| | 373 | |
| | 374 | [[Image(img164.jpg, width=800))]] |
| | 375 | |
| | 376 | Ова не е прифатливо време за апликацијата, па затоа пристапуваме кон индексирање. |
| | 377 | |
| | 378 | 4. Најбавните операции се full scan на табелата ticket. |
| | 379 | 5. Времето изминато во извршување на операциите insert и update изнесувa: |
| | 380 | |
| | 381 | [[Image(img165.jpg, width=800))]] |
| | 382 | |
| | 383 | [[Image(img166.jpg, width=800))]] |
| | 384 | |
| | 385 | Креираме индекс на табелата ticket на flightId |
| | 386 | |
| | 387 | [[Image(img169.jpg, width=800))]] |
| | 388 | |
| | 389 | [[Image(img170.jpg, width=800))]] |
| | 390 | |
| | 391 | [[Image(img171.jpg, width=800))]] |
| | 392 | |
| | 393 | [[Image(img172.jpg, width=800))]] |
| | 394 | |
| | 395 | [[Image(img175.jpg, width=800))]] |
| | 396 | |
| | 397 | [[Image(img176.jpg, width=800))]] |
| | 398 | |
| | 399 | 6. Времињата изминати во извршување на прашалниците со индекси изнесуваат 347ms и 352ms, и тоа е прифатливо време на извршување. |
| | 400 | 7. Времето изминато во извршување на операциите insert и update по индексирање изнесува: |
| | 401 | |
| | 402 | [[Image(img177.jpg, width=800))]] |
| | 403 | |
| | 404 | [[Image(img178.jpg, width=800))]] |
| | 405 | |
| | 406 | [[Image(img179.jpg, width=800))]] |
| | 407 | |
| | 408 | [[Image(img180.jpg, width=800))]] |
| | 409 | |
| | 410 | |
| | 411 | == View15: Ticket Revenue Details (materialized view) |
| | 412 | |
| | 413 | 1. Примарното филтрирање на погледот !TicketRevenueDetails ќе биде според id на летот (flightId). |
| | 414 | 2. Примарен случај на употреба ќе биде извештај вкупна заработка од продадени карти за летови. |
| | 415 | 3. Времето на креирање на погледот е 3s 675ms, за извршување изнесува 384ms, а времето за refresh на погледот е 3s 501ms. |
| | 416 | |
| | 417 | Креирање на погледот |
| | 418 | |
| | 419 | [[Image(img190.jpg, width=800))]] |
| | 420 | |
| | 421 | Извршување |
| | 422 | |
| | 423 | [[Image(img191.jpg, width=800))]] |
| | 424 | |
| | 425 | Refresh |
| | 426 | |
| | 427 | [[Image(img192.jpg, width=800))]] |
| | 428 | |
| | 429 | Ова е прифатливо време за апликацијата, бидејќи query-то нема да се извршува многу често, па нема потреба од оптимизација. |
| | 430 | |
| | 431 | Времето изминато во извршување на операциите insert и update изнесува: |
| | 432 | |
| | 433 | [[Image(img193.jpg, width=800))]] |
| | 434 | |
| | 435 | [[Image(img194.jpg, width=800))]] |
| | 436 | |