Мазмұны:

Деректер базасының тұйықталуына не себеп болады?
Деректер базасының тұйықталуына не себеп болады?

Бейне: Деректер базасының тұйықталуына не себеп болады?

Бейне: Деректер базасының тұйықталуына не себеп болады?
Бейне: Деректер Базасы Деген Не? Деректер Базасының Түрлері? 2024, Мамыр
Anonim

А тығырықтан шығу екі (немесе одан да көп) транзакциялардың әрқайсысына қажет ресурстарды құлыптау арқылы бір-бірін блоктаған кезде орын алады. Мысалы: 1-транзакцияда А кестесінде құлып бар. Оны көпшілік жазады тығырықтар көп пайдаланушыда болдырмау мүмкін емес дерекқор.

Сонымен, дерекқордағы тығырықтар дегеніміз не?

Тығырықтар . Ішінде дерекқор , а тығырықтан шығу екі немесе одан да көп транзакциялар бір-бірінің құлыптан бас тартуын күтетін жағдай. Мысалы, А транзакциясы Тіркелгілер кестесіндегі кейбір жолдарда құлыпты ұстауы мүмкін және аяқтау үшін Тапсырыстар кестесіндегі кейбір жолдарды жаңарту қажет.

Сондай-ақ, таңдау тығырыққа әкелуі мүмкін бе? 2 Жауаптар. Тұйық Бір сұрау объектіде (жолдар, деректер беттері, ауқым, кестелер т.б.) құлыпқа ие болғанда және басқа ресурс оған қол жеткізуге тырысқанда орын алады. SQL серверіндегі ең кіші бірлік деректер беттері болып табылады және SQL онымен жұмыс істеу кезінде бетте құлыпты ұстайды. Демек, иә, екі болуы мүмкін таңдаңыз мәлімдеме алады жасау тығырықтан шығу.

Сонымен қатар, дерекқордағы тұйықталуды қалай болдырмауға болады?

Тығырықтан құтылу бойынша кеңестер

  1. Дерекқор дизайны дұрыс қалыпқа келтірілгеніне көз жеткізіңіз.
  2. Әр жолы бірдей ретпен сервер нысандарына қол жеткізу үшін қолданбаларды әзірлеңіз.
  3. Транзакциялар кезінде пайдаланушы енгізуіне рұқсат бермеңіз.
  4. Курсорлардан аулақ болыңыз.
  5. Транзакцияларды мүмкіндігінше қысқартыңыз.

Сіз тығырықты қалай түзетесіз?

Ақылды әзірлеуші тығырықтан шығу үшін келесі қадамдарды орындауы керек:

  1. Ерекшелік шығарылған кезде 1205 қате нөмірін тексеріңіз.
  2. Басқа сұрауға транзакцияны аяқтауға және алынған құлыптарды босатуға уақыт беру үшін қолданбаны қысқа уақытқа тоқтатыңыз.
  3. SQL сервері кері қайтарылған сұрауды қайта жіберіңіз.

Ұсынылған: