Hammaga Juma ayyomi muborak bo'lsin! Kurs boshlanishiga kamroq va kamroq vaqt qoladi
Rivojlanish bosqichida
PostgreSQL 10-da biz eski meros usuli yordamida hal qilib bo'lmaydigan ko'plab muammolarni hal qilish uchun mo'ljallangan "deklarativ qismlarga ajratish" ning tug'ilishini ko'rdik. Bu bizga ma'lumotlarni gorizontal ravishda ajratish imkonini beruvchi ancha kuchli vositaga olib keldi!
Xususiyatlarni taqqoslash
PostgreSQL 11 ta'sirchan yangi xususiyatlar to'plamini taqdim etadi, ular ishlashni yaxshilashga yordam beradi va bo'lingan jadvallarni ilovalar uchun shaffofroq qiladi.
1. Cheklovchi istisnolardan foydalanish
2. Faqat tugunlarni qo'shadi
3. Faqat bo'linmagan jadvalga havola qiluvchi bo'lingan jadval uchun
4. Indekslar bo'limning barcha asosiy ustunlarini o'z ichiga olishi kerak
5. Ikkala tomondagi bo'lim cheklovlari mos kelishi kerak
unumdorlik
Bizda ham yaxshi yangilik bor! Yangi usul qo'shildi WHERE
. Oldingi algoritm, o'z navbatida, shartga javob bera olishini aniqlash uchun har bir bo'limni tekshirdi WHERE
. Bu bo'limlar sonining ko'payishi bilan rejalashtirish vaqtini qo'shimcha oshirishga olib keldi.
9.6-da, meros orqali bo'linish bilan, kortejlarni bo'limlarga yo'naltirish odatda kortejni to'g'ri bo'limga kiritish uchun bir qator IF bayonotlarini o'z ichiga olgan trigger funktsiyasini yozish orqali amalga oshirildi. Bu funktsiyalarni bajarish juda sekin bo'lishi mumkin. 10-versiyada deklarativ bo'linish qo'shilgan bo'lsa, bu juda tez ishlaydi.
100 ta bo'limga ega bo'lingan jadvaldan foydalanib, biz 10 BIGINT ustuni va 1 INT ustunli jadvalga 5 million qatorni yuklash samaradorligini baholashimiz mumkin.
Bitta indekslangan yozuvni topish va bitta yozuvni boshqarish uchun DML-ni bajarish uchun ushbu jadvalni so'rashning bajarilishi (faqat 1 protsessor yordamida):
Bu erda biz har bir operatsiyaning ishlashi PG 9.6 dan keyin sezilarli darajada oshganini ko'rishimiz mumkin. So'rovlar SELECT
ancha yaxshi ko'rinadi, ayniqsa so'rovlarni rejalashtirish paytida bir nechta bo'limlarni istisno qilishga qodir bo'lganlar. Bu shuni anglatadiki, rejalashtiruvchi avval bajarishi kerak bo'lgan ko'p ishlarni o'tkazib yuborishi mumkin. Masalan, keraksiz bo'limlar uchun yo'llar endi qurilmaydi.
xulosa
Jadvalni qismlarga ajratish PostgreSQL-da juda kuchli xususiyatga aylana boshladi. Bu sizga sekin, massiv DML operatsiyalarining tugashini kutmasdan, ma'lumotlarni onlayn tarzda tezda ko'rsatish va uni oflayn rejimga o'tkazish imkonini beradi.. Bu shuningdek, tegishli ma'lumotlar birgalikda saqlanishi mumkinligini anglatadi, ya'ni sizga kerak bo'lgan ma'lumotlarga yanada samarali kirish mumkin. Ushbu versiyada amalga oshirilgan yaxshilanishlar ushbu xususiyatlarning barchasi ustida tinimsiz ishlagan ishlab chiquvchilar, sharhlovchilar va komitentlarsiz amalga oshirilmas edi.
Ularning barchasiga rahmat! PostgreSQL 11 ajoyib ko'rinadi!
Mana shunday qisqa, ammo juda qiziqarli maqola. Fikrlaringizni baham ko'ring va ro'yxatdan o'tishni unutmang
Manba: www.habr.com