• Ular qanday ishlaydi Eng kop sorovlarni optimallashtirish
  • Fakultet: kif guruh: 021-20 Bajardi




    Download 21.48 Kb.
    bet1/2
    Sana26.05.2023
    Hajmi21.48 Kb.
    #65308
      1   2
    Bog'liq
    MB Mustaqil ish
    1626543488910695 (1), Bajarish kerak, LAFVIN iBot Programming Education Robot Car, Арх cложных веб приложени Laravel ПЕРЕВОД 2020, Raqamli qurilmalarni loyihalashga kirish, Psixodiagnostika va eksperimental psixologiya (Z.Nishanova va b.), Elektromagnit maydon, Kompyuter arxitekturasi 1-amaliy ish, webb mustaqil ish, 11-sinf-adabiyot-2, Презентация (1), Bekchanov, Algoritmlar nazariyasi fanidan mavzu arxivlash algoritmi, 5-maruza

    O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
    MA’LUMOTLAR BAZASI FANIDAN

    MUSTAQIL ISHI


    Fakultet: KIF
    Guruh: 021-20
    Bajardi: Allamurodov Jasur
    Tekshirdi: Begmatova Z

    TOSHKENT-2022



    Mavzu: Soʻrovlarni optimallahtirish va qayta ishlash
    REJA :

    1. Kirish.

    2. SQL so'rovlarini optimallashtirish

    3. So'rovlarni bajarish

    4. Xulosa

    5. Foydalanilgan adabiyotlar va saytlar


    Asosan, bu ma'lumotlar bazasining javob vaqtini sezilarli darajada va maqbul darajada yaxshilash; ular o'z foydalanuvchilariga so'ralgan ma'lumotni rekord vaqt ichida taqdim eta oladigan tarzda. Bu ba'zi hollarda ro'y beradi, ba'zi ilovalar yoki boshqalar odatda shu qadar murakkabki, maslahatlashganda javob olish vaqti ancha uzoq bo'ladi; Ko'pgina hollarda, bu javob odatda eng "optimal" emas, ya'ni eng yaxshisi.
    Xarajatlarga asoslangan ma'lum optimallashtiruvchilar bor va ular o'z navbatida ma'lum rejalarga asoslanadi; ular tahlillar natijasida so'rovni optimallashtirish uchun eng yaxshi yo'llarni bera oladiganlar bo'lishini; Albatta, mumkin bo'lgan xarajatlari eng past bo'lgan rejalarni qabul qilish.
    Muhim nuqta shundaki, foydalanuvchilar optimallashtiruvchiga to'g'ridan -to'g'ri kira olmaydi; Ular birinchi navbatda tahlil jarayonidan o'tishi kerak va bu bosqichdan so'ng foydalanuvchi optimallashtirishga kirish huquqiga ega bo'ladi
    Ular qanday ishlaydi?
    Eng ko'p so'rovlarni optimallashtirish, tugunlar daraxti yordamida amalga oshiriladi, ularni grafik tasvirlash uchun. Bu daraxtda mavjud bo'lgan har bir tugun rejani ifodalaydi va bu tugunlarga o'ralgan rejalar oddiy operatsiyalardan boshqa narsa emas.
    Har bir tugunning rejalari bilan boshqa bolalar tugunlari bo'lishi mumkin; lekin xuddi shu tarzda ular ota-ona tugunlari bilan bir xil rejada ishlaydilar. Ushbu "tugunlar daraxti" ning barglari bo'lsa, ular barcha mavjud tugunlar tomonidan amalga oshirilgan aytilgan operatsiyalar natijalarini ifodalaydi.
    Ma'lumotlar bazasini boshqarish tizimlarida muhim ma'lumotlar sifatida; tugunlar JOIN -lar bo'lib, ular ma'lumotlar bazasida jadvallar yozuvlarini birlashtirishga imkon beradi (bu bir necha yoki bitta bo'lishi mumkin). Aslida, so'z qo'shiling, ingliz tilidan tarjima qilingan, "birlashish" degan ma'noni anglatadi.

    So'rovlarni optimallashtirish masalasi har doim ma'lumotlar bazasi ishlab chiquvchilari va ular bilan ishlaydigan dasturchilar uchun dolzarbdir. Ma'lumotlar bazasini boshqarish zamonaviy tizimlari (DBMS) optimizator deb nomlangan komponentni o'z ichiga oladi. Uning ishlashini ko'rib chiqish va so'rovni yoki ma'lumotlar bazasini (JB) o'zgartirishning mumkin bo'lgan usullarini optimallashtiruvchi so'rovlarni bajarish rejasini tuzish va uni amalga oshirishga kam vaqt va mablag 'sarflaydigan tarzda tanlash kerak.


    So'rovlarni optimallashtirish uchun bir nechta turli xil yondashuvlar va usullar mavjud, ammo birinchi o'ringa ortiqchalikni aniqlash uchun so'rovlar matnini tahlil qilish uchun SQL tili darajasida leksik optimallashtirish kiradi.
    Agar foydalanuvchi qidiruv operatsiyasini boshlasa, ushbu foydalanuvchining SQL-bayonoti bir nechta ketma-ket bosqichlardan o'tadi, bu so'rovlarni qayta ishlash deb nomlanadi. SQL-ning asosiy afzalliklaridan biri shundaki, u protsessual emas, shuning uchun bayonot maqsadiga erishish uchun bajarilishi kerak bo'lgan qadamlarni sanab o'tishga hojat yo'q. Boshqacha qilib aytganda, SQL-ga qandaydir bir ish qilish kerakligini tasvirlashning hojati yo'q, buning o'rniga faqat ma'lumotlar bazasidan talab qilinadigan narsani tasvirlash kerak.
    So'rovlarni qayta ishlash ma'lumotlar bazasidan so'ralgan ma'lumotlarni qaytarish uchun SQL bayonotini samarali bajarish rejasiga aylantirishni anglatadi. So'rovlarni optimallashtirish ma'lumotlar bazasi ishlaydigan serverda resurslarni sarflash, masalan, I / U va CPU resurslari kabi eng kam xarajatli natijaga erishish uchun eng samarali ijro rejasini tanlash va shuningdek so'rovning umumiy bajarilish vaqtini qisqartirish jarayonini anglatadi. ushbu so'rovga kiritilgan barcha operatsiyalar uchun vaqt ko'rsatkichlari yig'indisi. Ushbu ishlashni optimallashtirish javob vaqtlarini minimallashtirishga o'xshamasligi mumkin. Agar so'rovning to'liq natijasini emas, balki birinchi n qatorni olishga sarflanadigan vaqtni minimallashtirish zarur bo'lsa, optimallashtiruvchi boshqa rejani tanlashi mumkin va agar barcha so'rov ma'lumotlari uchun javob berish vaqtini minimallashtirish zarur bo'lsa, parallel ishlash rejimi ham tanlanishi mumkin.
    Umuman olganda, foydalanuvchi tomonidan bajarilgan har bir SQL bayonoti ajralish bosqichi, optimallashtirish bosqichi va ijro etilish bosqichidan o'tadi. Agar SQL iborasi so'rov bo'lsa, u ma'lumotni olishni nazarda tutadi va shuning uchun, bu holda, ishlov berish jarayoni tugamaguncha, u ham olib kelish bosqichidan o'tadi. Quyidagi bo'limlarda ushbu bosqichlarning har birida Oracle nima qilishi haqida batafsilroq ma'lumot berilgan.
    Ajralish bosqichi asosan SQL bayonotlari sintaksisini va semantikasini tekshirishdan iborat. Ushbu bosqich oxirida so'rovning tuzilishini aks ettiruvchi tahlil daraxti yaratiladi.
    Xususan, ushbu bosqichda SQL iborasi relyatsion algebra so'roviga aylantirilib, uning sintaktik jihatdan to'g'ri yoki yo'qligini aniqlash uchun tahlil qilinadi. So'ngra ushbu so'rov semantik tekshiruv tekshiruvidan o'tkaziladi, uning davomida so'rovda ko'rsatilgan barcha jadvallar va alohida ustunlar hamda barcha kerakli ob'ekt imtiyozlari mavjud bo'lgan ma'lumotlar lug'ati yordamida tekshiriladi. Bundan tashqari, ma'lumotlar ustunlar ta'riflariga mos kelishini tekshirish uchun ustun turlari tekshiriladi. Keyinchalik operator yanada samarali ishlov berilishi uchun normalizatsiya qilinadi. Agar so'rov noto'g'ri tuzilgan bo'lsa, u rad etiladi. Sinov daraxti barcha sintaktik va semantik tekshiruvlardan o'tganidan so'ng, u tasdiqlanadi va mantiqiy so'rovlar rejasini yaratish bosqichiga yuboriladi. Ushbu operatsiyalarning barchasi kutubxonaning kesh qismini aks ettiruvchi SGA-da amalga oshiriladi.
    Optimizatsiya bosqichida Oracle so'rovda mavjud jadvallar va indekslardan ma'lumotlarni olish uchun eng yaxshi kirish usulini tanlash uchun Cost-Base Optimizer (CBO) deb nomlangan optimallashtiruvchi vositadan foydalanadi. Taqdim etilgan statistik ma'lumotlar va SQL so'rovlarida ko'rsatilgan har qanday ko'rsatmalardan foydalangan holda, CBO SQL bayonoti uchun maqbul ijro rejasini tuzadi.
    Umuman olganda, optimallashtirish bosqichini ikkita alohida kichik bosqichga bo'lish mumkin: so'rovlarni qayta yozish va jismoniy so'rovlarni bajarish rejasini yaratish. Keling, ushbu ikkita alohida optimallashtirish pastki bosqichlarini batafsil ko'rib chiqamiz.
    So'rovni qayta yozish bosqichi
    Shu nuqtada, tahlil daraxti so'rov uchun mavhum mantiqiy ijro rejasiga aylantiriladi. U haqiqiy so'rovni bajarish rejasining dastlabki versiyasini aks ettiradi va faqat asl so'rovning umumiy algebraik qayta tuzilgan versiyasini o'z ichiga oladi. Ya'ni, ushbu bosqichda, tahlil qilish daraxtining turli tugunlari va shoxlari relyatsion algebra amallari bilan almashtiriladi. Shuni esda tutingki, bu erda so'rovni qayta yozish materiallashtirilgan ko'rinishlarni ishlatishda qayta yozish bilan bir xil emas.

    Ijro rejasini yaratish bosqichi


    Bu vaqtda Oracle mantiqiy rejani fizik so'rovlar rejasiga o'zgartiradi. So'rovni qayta ishlash uchun optimallashtiruvchi uchun bir nechta algoritmlar mavjud bo'lishi mumkin. U so'rovga javob berish uchun ushbu algoritmlarning eng samarasini tanlaydi va operatsiyalarni amalga oshirishning eng samarali usulini belgilaydi. Qaysi operatsion bosqichlarni yaxshiroq bajarish kerakligini hal qilish bilan bir qatorda, ushbu bosqichlarni bajarish tartibini ham belgilaydi. Masalan, A jadvali va B jadvali o'rtasida birlashtirish operatsiyasini bajarishga qaror qilgandan so'ng, optimallashtiruvchi ushbu qo'shilishning qaysi turi bo'lishi kerakligini va uni qaysi tartibda bajarish yaxshiroq ekanligini aniqlaydi.

    Umuman olganda, optimallashtiruvchi jismoniy yoki so'rovlarni bajarish rejasini tuzishda quyidagi omillarni hisobga oladi:


    so'rov paytida bajarilishi kerak bo'lgan turli xil operatsiyalar (masalan, qo'shilish operatsiyalari);
    ushbu operatsiyalarni bajarish tartibi;
    ularning har birini bajarish uchun ishlatiladigan algoritm;
    diskdan yoki xotiradan ma'lumotlarni olishning eng yaxshi usuli;
    so'rov paytida ma'lumotlarni bir operatsiyadan boshqasiga o'tkazishning eng yaxshi usuli.
    Optimizator potentsial bajarilish rejalari bo'lgan bir nechta haqiqiy fizik so'rov rejalarini yaratishi mumkin. Keyin optimallashtiruvchi mavjud jadval va indeks statistikasi asosida har bir mumkin bo'lgan fizikaviy rejaning narxini taxmin qilish va shu rejani tanlash orqali ularning orasini tanlaydi.
    So'rovlarni qayta ishlash jarayonidagi so'nggi qadam optimallashtirilgan so'rovning bajarilishi (tanlangan fizik so'rov rejasi). Agar bu SELECT buyrug'i bo'lsa, u holda tegishli qatorlar foydalanuvchiga qaytariladi, agar u INSERT, UPDATE yoki DELETE buyrug'i bo'lsa, u holda qatorlarga tegishli o'zgarishlar kiritiladi. SQL bajarish mexanizmi optimallashtirish bosqichidan ijro rejasini oladi va uni bajaradi.
    SQL bayonotlarini qayta ishlashning uch bosqichidan eng muhimi optimallashtirish bosqichi, chunki u kerakli ma'lumotlarni qanchalik tez olishini belgilaydi. Optimizatorning qanday ishlashini tushunish optimallashtirish jarayonini tushunishda muhim rol o'ynaydi. SQL-ni samarali yozish uchun odatiy kiruvchilar, qo'shilish usullari va qo'shilish buyurtmalari qanday ko'rinishini bilish muhimdir. Shuning uchun, keyingi bo'limda Oracle-ning kuchli CBO optimallashtiruvchisi haqida batafsil ma'lumot berilgan. 


    Download 21.48 Kb.
      1   2




    Download 21.48 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Fakultet: kif guruh: 021-20 Bajardi

    Download 21.48 Kb.