घर
Top.Mail.Ru Yandeks.Metrika
फोरम: "मामले";
वर्तमान संग्रह: 2003.10.02;
डाउनलोड करें: [xml.tar.bz2];

नीचे

पढ़ने के लिए लेनदेन को समाप्त करने के लिए सबसे अच्छा कैसे? इसी तरह की शाखाएँ खोजें


kaif   (2003-09-10 22:19) [0]

Приложение часто делает мелкие запросы на чтение в отдельных транзакциях (только SELECT). Можно такие транзакции заканчивать с помощью commit, а можно rollback. Что экономнее для ресурсов сервера? Или все равно?
Буду признателен за любые соображения.



Sergey_Masloff   (2003-09-10 23:08) [1]

Если только SELECT то ИМХО абсолютно параллельно что коммит что роллбэк. При selecte версии записей не создаются так что накладные расходы на завершение минимальны.



Evgeny V   (2003-09-11 06:22) [2]

При select лучше commit, по накладным расходам, ссылка - книга "Мир InterBase" авторы Ковязин и Востриков



Johnmen   (2003-09-11 09:14) [3]

Commit оптимальнее, если тр-ия только читающая.



stone   (2003-09-11 09:28) [4]

А зачем вообще в этом случае стартовать явную транзакцию? Разве неявные транзакции уже отменили?



Alexandr   (2003-09-11 09:33) [5]

в firebird есть реадонли транзакция. Самое то для селектов.
А завершать лучше по коммит.



jack128   (2003-09-11 11:29) [6]

लेन-देन के कुछ मापदंडों के साथ (केवल और कुछ पढ़ें, मुझे ठीक से याद नहीं है) कोई रिकॉर्ड संस्करण नहीं बनाए गए हैं, और लेनदेन एक प्रतिबद्ध अवस्था में शुरू होता है। फायरबर्ड और यफ़िल यदि लेनदेन में केवल चुनिंदा अनुरोध थे, तो रोलबैक स्वचालित रूप से प्रतिबद्ध द्वारा बदल दिया जाता है) .. सब कुछ ibase.ru पर वर्णित है



kaif   (2003-09-11 11:50) [7]

आप सभी को धन्यवाद!
Я инстинктивно использовал везде commit.

2 Alexandr © (11.09.03 09:33) [5]
Интересно про readonly транзакции... Хотя я стараюсь не закладываться на определенный тип сервера. У меня программа на рынок.

2 पत्थर © (11.09.03/09/28 4:XNUMX) [XNUMX]
Явные старты мне пришлось применять, так как если транзакция стартовала неявно и кроме select-а что-то делалось (тем не менее), то с некоторой вероятностью при многопользовательской работе в сети у меня сервер зацикливался (Yaffil-821). Поэтому я все старты переделал на явные. К сожалению, причина зацикливания сервера в этом. Хотя это эмпирический, но уже факт, подтвержденный многократно...



Romkin   (2003-09-11 11:56) [8]

2kaif read read_committed rec_version nowait - типовая самая легкая транзакция (практически ее нет), просто читаешь данные



Alexandr   (2003-09-11 12:38) [9]

дык и так readonly транзакции есть в FB, Yaffil
Interbase 6.5 и выше не смотрел. не знаю. Но что-то мне подсказывает, что скорее есть, чем нет.



kaif   (2003-09-11 16:00) [10]

धन्यवाद
Romkin © (11.09.03 11:56) [8] и
Alexandr © (11.09.03 12:38) [9]

Попробовал readonly транзакции. Очень здорово работают. Есть ощущение легкости работы. К тому же одну мою глобальную транзакцию сделал readonly и сейчас легко отлавливаю все те места в программе, где имелись неявные старты с апдейтами (система очень большая).

Теперь такой вопрос. У меня в системе много мелких транзакций на чтение, создаваемых runtime. Однако есть и одна глобальная, с которой (исторически так получилось) много мелких таких запросов работает.
अधिक सही क्या है?
Иметь одну долгую глобальную транзакцию readonly read_committed для таких дел или лучше вообще не иметь долгих транзакций, даже readonly?



Zacho   (2003-09-11 16:07) [11]


> kaif © (11.09.03 16: 00) [10]

Имхо, долгая read_committed read - вполне нормально, и никаких доп. нагрузок, неудобств, удержания версий и т.п. не приносит.



kaif   (2003-09-11 16:15) [12]

Что же, вырисовывется даже некоторая неплохая идеология...
Одна длинная readonly для всякой всячины и отдельные недолгие read_committed nowait транзакции для апдейтов или селектов, могущих закончиться апдейтами.



Johnmen   (2003-09-11 16:19) [13]

> kaif © (11.09.03 16: 15)

Лично я именно так и делаю :)



Sergey_Masloff   (2003-09-11 23:30) [14]

जॉनमेन © (11.09.03 16: 19) [13]
>Лично я именно так и делаю :)
Думаешь ты один? ;-)



Alexandr   (2003-09-12 07:22) [15]


> и отдельные недолгие read_committed nowait транзакции для
> апдейтов или селектов, могущих закончиться апдейтами.


а вот это лучше в snapshot делать



Deniz   (2003-09-12 08:46) [16]

> अलेक्जेंडर © (12.09.03 07: 22) [15]
>а вот это лучше в snapshot делать

А вот это(snapshot) для отчетов.



kaif   (2003-09-12 14:35) [17]

snapshot вроде (где-то читал) много ресурсов жрет, так что я его редко применяю, разве что для строгих отчетов, требующих "снимка базы".



Alexandr   (2003-09-12 14:42) [18]

дык зато между чтением и последующей записью в snapshop
никто не вклинится со своим апдейтом считанных тобой данных.
и в результате юзер будет уверен, что он поменял именно то что видит, на то, что хочет.



kaif   (2003-09-12 14:45) [19]

2 Alexandr © (12.09.03 14:42) [18]
Я как правило работаю в оптимистической модели (задачи учета).
У меня два юзера как правило одни и те же данные не редактируют. Хотя для пессимистической модели ты прав.



Alexandr   (2003-09-12 14:53) [20]

ну дык. тогда и ресурсов с чего бы ему много жрать...



पन्ने: 1 पूरी शाखा

फोरम: "मामले";
वर्तमान संग्रह: 2003.10.02;
डाउनलोड करें: [xml.tar.bz2];

ऊपर





मेमोरी: 0.61 एमबी
समय: 0.07 c
14-4075
शाही ढंग से चलने वाला
2003-09-14 19:54
2003.10.02
डॉलर की ऊंचाई


8-4003
सिकंदर-मैं
2003-06-05 01:54
2003.10.02
पिक्सल में प्रदर्शित टेक्स्टऑट की चौड़ाई की गणना कैसे करें।


14-4089
clickmaker
2003-09-12 13:51
2003.10.02
यदि प्रोग्रामर का दिन 256 है, तो सिस्टम प्रशासक का दिन क्या है?


1-3896
अलीना
2003-09-22 13:13
2003.10.02
आम प्रश्न


1-3900
अधिकतम रीडोव
2003-09-18 13:21
2003.10.02
डिज़ाइन-टाइम मोड में टीसींट्रोल (घटक) की एक सूची प्राप्त करना।





अफ्रीकी अल्बानियन अरबी भाषा अर्मेनियाई आज़रबाइजानी बस्क बेलारूसी बल्गेरियाई कैटलन सरलीकृत चीनी) चीनी पारंपरिक) क्रोएशियाई चेक डेनिश डच अंग्रेज़ी एस्तोनियावासी फिलिपिनो फिनिश फ्रेंच
गैलिशियन् जॉर्जियाई जर्मन यूनानी हाईटियन यहूदी हिंदी हंगरी आइसलैंड का इन्डोनेशियाई आयरिश इतालवी जापानी कोरियाई लात्वीयावासी लिथुआनियाई मेसीडोनियन मलायी मोलतिज़ नार्वेजियन
फ़ारसी पोलिश पुर्तगाली रोमानियाई रूसी सर्बियाई स्लोवाक स्लोवेनियाई स्पेनिश स्वाहिली स्वीडिश थाई तुर्की यूक्रेनी उर्दू वियतनामी वेल्श यहूदी बंगाली बोस्नियाई
सिबुआनो एस्पेरांतो गुजराती हौसा हमोंग ईग्बो जावानीस कन्नड़ खमेर लाओ लैटिन माओरी मराठी मंगोलियन नेपाली पंजाबी सोमाली तामिल तेलुगु योरूबा
ज़ुलु
Английский Французский Немецкий Итальянский Португальский Русский Испанский