Руководство по созданию эффективных запросов



Download 17,08 Mb.
Pdf ko'rish
bet193/210
Sana25.06.2022
Hajmi17,08 Mb.
#704548
TuriРуководство
1   ...   189   190   191   192   193   194   195   196   ...   210
Bog'liq
OptimizZaprvPostgreSQL

Удаление
Для удаления компонента из сложного объекта используется специальный 
ключ 
command
, у которого есть только одно допустимое значение 
delete
. На-
пример, посадочные талоны нельзя обновить. При необходимости старый 
посадочный талон удаляется и выдается новый.
Вызов функции для удаления посадочного талона может выглядеть так:
SELECT * FROM booking_leg_update (
17893568,
$${"boarding_passes":[{"boarding_pass_id":1247796,"command":"delete" }]
}$$
)
Дополнительную информацию об обновлениях сложных объектов мож-
но почерпнуть из репозитория NORM на GitHub: 
https://github.com/hettie-d/
NORM
.
П
очему
 
Бы
 
не
 
хранить
 JsoN?
Здесь вы можете спросить: зачем нужны такие сложности, когда PostgreSQL 
поддерживает тип JSON? Почему бы не хранить JSON в базе данных «как есть»?
Причины уже обсуждались в главе 9. В частности, там рассматривались 
модель «ключ–значение» и иерархические модели, объяснялись их огра-
ничения. Если бы сегмент бронирования, определенный в данной главе, 
хранился как JSON, информация о рейсе дублировалась бы, потому что она 
принадлежит иной иерархии. Другая причина состоит в том, что в формате 
JSON нет типов и, следовательно, он ненадежен с точки зрения обеспечения 
согласованного интерфейса для разработки.
Кроме того, хотя мы можем создавать индексы для поиска по определен-
ным ключам JSON, по производительности они уступают B-деревьям для 
обычных столбцов. Индексирование JSON и связанные с этим вопросы про-
изводительности рассматриваются в главе 14.
П
рирост
 
Производительности
Как использование NORM влияет на производительность? Как обсуждалось 
в главе 10, такую разницу в производительности сложно измерить. Нам 
нужно измерять общую производительность приложения, а не сравнивать 
скорость отдельных операций, а сами приложения могут быть написаны 


Выводы 

259
с использованием совершенно разных стилей программирования. Мы не 
приводим никаких примеров кода приложения в этой главе, поскольку это 
выходит за рамки данной книги.
Однако, исходя из нашего промышленного опыта, использование подхо-
да NORM вместо традиционного ORM может повысить производительность 
контроллеров приложений в 10–50 раз. Более того, производительность при-
ложений стабилизируется, поскольку устраняется 
проблема
N
+
1
запроса
(большинство ORM по умолчанию откладывают загрузку, поэтому для по-
лучения дочерних элементов сначала выдается один запрос в базу данных 
для родительской записи, а затем по одному запросу для 
каждой
дочерней 
записи).

Download 17,08 Mb.

Do'stlaringiz bilan baham:
1   ...   189   190   191   192   193   194   195   196   ...   210




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish