Харах ба Материалжуулсан харах
Харах болон материалжуулсан харагдац (mviews) нь хоёр төрлийн Oracle мэдээллийн сангийн объект юм. Эдгээр объектуудын аль аль нь сонгосон асуулгад хамаарна. Эдгээр сонгосон асуулга нь виртуал хүснэгтийн үүрэг гүйцэтгэдэг. Дүрмээр бол харагдац болон mview нь олон тооны нэгдэл бүхий том сонгогдсон асуулгад хамаарна. Тиймээс үзэл бодлын гол давуу талуудын нэг нь бид нарийн төвөгтэй сонгогдсон асуулгыг харагдац болгон хадгалах боломжтой юм. Тиймээс бид эцсийн хэрэглэгчдээс сонгосон асуулгын ард логикийг нууж болно. Бид нарийн төвөгтэй сонгох хэллэгийг гүйцэтгэх шаардлагатай үед-г гүйцэтгэхэд л хангалттай.
харах нэрнээссонгоно уу
Харах
Өмнө дурьдсанчлан view нь сонгогдсон хайлтыг нуудаг виртуал хүснэгт юм. Эдгээр сонгосон асуулга нь урьдчилан гүйцэтгэгдээгүй. Бид харагдацаас сонгох хэллэгийг гүйцэтгэхэд энэ нь харах хэсгийн доторх сонгох хэллэгийг гүйцэтгэдэг. Харах хэсгийн сонгомол хэллэгийг маш нарийн төвөгтэй мэдэгдэл гэж үзье. Тиймээс үүнийг гүйцэтгэхэд гүйцэтгэхэд тодорхой хугацаа шаардагдана (харьцангуй илүү хугацаа). Үүнээс гадна view нь өөрийгөө хадгалахын тулд маш бага зай ашигладаг. Учир нь түүний агуулгад зөвхөн сонгомол мэдэгдэл байдаг.
Материалжуулсан харах (Mview)
Энэ бол тусгай төрлийн харагдац юм. Үзэлтийн гүйцэтгэлийн асуудалтай үед Mviews үүсдэг. Биднийг mview үүсгэх үед энэ нь сонгох асуулгыг гүйцэтгэж, гаралтыг нь агшин зуурын хүснэгт хэлбэрээр хадгалдаг. Бид Mview-ээс өгөгдөл хүсэх үед энэ нь сонгох мэдэгдлийг дахин гүйцэтгэх шаардлагагүй. Энэ нь агшин зуурын хүснэгтээс гаралтыг өгдөг. Тиймээс, mview-ийн гүйцэтгэлийн хугацаа нь view-ээс бага байна (ижил сонгох мэдэгдлийн хувьд). Гэсэн хэдий ч mviews-ийг бүх цаг хугацаанд ашиглах боломжгүй, учир нь энэ нь агшин зуурын хүснэгт хэлбэрээр хадгалагддаг ижил гаралтыг харуулдаг. Бид mview-н хамгийн сүүлийн үр дүнгийн тохиргоог авахын тулд дахин шинэчлэх хэрэгтэй.
Харах болон Mview хоёрын ялгаа юу вэ?
1. Mview нь гаралтыг үүсгэхдээ үргэлж агшин зуурын хүснэгт хэлбэрээр хадгалдаг боловч харагдац нь ямар ч хүснэгт үүсгэдэггүй.
2. View-д агуулгыг хадгалахад том зай шаардлагагүй, харин mview-д агуулгыг хадгалахын тулд харагдацаас илүү том зай хэрэгтэй (хормын хувилбарын хүснэгт хэлбэрээр).
3. Харах нь гүйцэтгэхэд илүү их хугацаа шаардагдах боловч mview нь харагдацаас бага гүйцэтгэх хугацаа шаарддаг (ижил сонголтын хувьд).
4. Хамгийн сүүлийн үеийн өгөгдлөө авахын тулд Mviews-г шинэчлэх шаардлагатай боловч үзэлт нь үргэлж хамгийн сүүлийн үеийн өгөгдлийг өгдөг.
5. Схемд mviews үүсгэхийн тулд "бодит харагдах байдлыг бий болгох" эрх шаардлагатай, харин үзэхийн тулд "харах" эрх шаардлагатай.
6. Илүү их гүйцэтгэлтэй байхын тулд mviews дээр индекс үүсгэж болох ч үзэлт дээр индекс үүсгэх боломжгүй.