Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
a hint is a 'route' to data and it means it has nothing to do with relation model. "Было бы классно, ИМХО, если бы хинты /или скажем нейтрально доп. информация:)/ не писались в самом запросе, а могли прикрепляться к нему "сбоку" по усмотрению" --- imho the best implementation of the idea is optimization with "Explain" tables in DB2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 18:36 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Nikolay Ну и что что чтение блокирует запись. Кого это интересует. Блокировки и Версии вещи сугубо перпендикулярные этим понятиям. Не сказала бы что ээто никого не интересует. Народ интересует кол-во обработанных транзакций за определенное время, время реакции на определенный запрос и так далее. И какое будет кол-во обработанных транзакций за определенное время, если они встанут из такой блокировки? Или такой простой не учитывается в тестах/оценках в силу его "форсмажорности"? :) В тестовых испытаниях/демонтсрациях такие случаи тчательно маскируются или вообще не возникают, поскольку все спланировано так, чтобы такие блокировки не возникли. Кто же захочет опозориться, если его система встанет из за неудачной блокировки. А в реальности проблемы из слишком сильных блокировок и дедлоков возникают сплошь и рядом, особенно из за блокировок на чтение. Я уже писала Насчет скорости выборки данных (время отклика), возможно что например DB2, MS SQL и MySQL выбирают данные в ряде случаев быстрее чем Oracle. Но также надо учитывать, что какой-нибудь запрос может поставить другие в очередь и сделать обработку попросту последовательной из за наложения слишком "сильных" блокировок. Пусть например MySQL очень быстр в отношении выборки данных и времении отклика, но какой от этого толк, если Из документации по MySQL This means that if you have many updates on a table, SELECT statements will wait until there are no more updates. To work around this for the case where you want to do many INSERT and SELECT operations on a table, you can insert rows in a temporary table and update the real table with the records from the temporary table once in a while. Действительно серьезные проблемы возникают из-за того, что юзеры начинают конкурировать за "узкие места" и "ограниченные" ресурсы и выстраиваться в очередь. Вот здесь то и сказывается "удачный" механизм реализации блокировок и распределения нагрузок по времени, позволяющий легко сводить такие ситуации к минимуму. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 18:38 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
to stdio Потому что в конфигурационные файлы надо SQL-запросы вытащить. Такая здравая мысль и так мало програм, где это делается ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 18:40 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
"А в реальности проблемы из слишком сильных блокировок и дедлоков возникают сплошь и рядом, особенно из за блокировок на чтение." ???????? As for me - that's wrong. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 18:41 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
As for me - that's wrong Плохо то, что транзакция стоит пока какой-то друг не закончит, скажем, выполнять update в _своей_ транзакции и не завершит её. _______________ Alex There are three kinds of people: those who can count and those who can't ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 18:46 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
I meant from what I have faced , deadlocks had a place in case of developers mistake, and such mistakes were recognized/fixed in a testing environment, so at hard-working OLTP _real_ system there are NO such problem at all. Of course anyone with appropriate permisions could run "Select * from table" with autocommit off and stop a whole system, but in the same way any one with appropriate permissions could run "rm -rf /" and the result would be even worse. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 18:47 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
авторТакая здравая мысль и так мало програм, где это делается ... дык, да потому что они трезво смотрят на реальность - как запихнуть в конфиг динамический запрос ?? ну например станндартного поиска ... понятно что какую-то часть можно, но проблемы с теми самыми 10% которые обычно динамически генерятся и поэтому на пару листов нечитаемого текста. авторуровень оптимизации could be defined for _each_ query. т.е. чем выше уровень тем дольше будет план перебиратся ? или почему бы не ставить везде наивысший ? оракл знаю может взять неоптимальный план из-за того что решает что быстрей выполнит его чем будеть искать оптимальный, а тут как ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 18:52 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
to ggv Ну вот нашла пример. ADM5500W DB2 is performing lock escalation. авторИ все же, не следует забывать, что данные лочатся даже при выборке, и не тянуть с COMMIT\'ом после нее. Типичная неоракловая философия:) А в Oracle транзакция может и должна длиться столько сколько требует бизнес логика. Принудительно подкомичивать ради требований экономии ресурсов СУБД и блокировок нет необходимости. авторЭскалация блокировок - необязательно плохо. LOCK TABLE - почти то же самое, только вручную. Сделать LOCK TABLE в транзакции перед SELECT. Это вообще нонсенс с точки зрения Oracle - делать LOCK всей TABLE в транзакции перед SELECT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 18:54 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
to ggv Of course anyone with appropriate permisions could run "Select * from table" with autocommit off and stop a whole system А если продолжительные селекты или селекты с "широким охватом" данных нужно в системе выполнять в силу требований к ней? Тогда обычно начинается - отчеты только вечером или по выходным или мол нужно рядом небольшой DWH ставить. PS Соглашусь с тем фактом, что если изначально писать систему под какой бы то ни было СУБД, четко осознавая ее особенности в частности особенности блокировок и пр., такие проблемы можно свести к минимому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 19:05 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
дык, да потому что они трезво смотрят на реальность Наоборот, смотрят они очень даже нетрезво как запихнуть в конфиг динамический запрос ?? ну например станндартного поиска ... Bind-переменные знаете? Код: plaintext понятно что какую-то часть можно, но проблемы с теми самыми 10% которые обычно динамически генерятся и поэтому на пару листов нечитаемого текста Для OLTP все запросы известны заранее. Их даже рекоммедуется сразу после запуска экземпляра в pool-е прошивать. Но, почему-то это никто не делает... Для тех 10% - вот как раз пришли к тому, про что я и писал: Там возможные запросы непредсказуемы. Ну и каждый запрос отладить - довольно бесполезное занятие. Зачем? Лучше подождать подольше... оракл знаю может взять неоптимальный план из-за того что решает что быстрей выполнит его чем будеть искать оптимальный, Это неверно. Oracle всегда ищет оптимальный (в "попугаях", конечно) план. _______________ Alex There are three kinds of people: those who can count and those who can\'t ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 19:39 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
авторBind-переменные знаете? если система чуть сложнее учета картошки то статическими запросами не отделаешся, я же говорю про динамический - когда система добавляет подзапросы, джоины и т.п. ну например как hibernate.org. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 20:51 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
я же говорю про динамический - когда система добавляет подзапросы, джоины и т.п. Это говорит о том, что схема БД была неправильно спроектирована. Такая интеллектуальная система, думаю, гораздо страшнее безобидных хинтов окажется. А? На http://hibernate.com/ не вижу надобности чего-то делать динамическое. Две таблицы: THINGS и TOPICS. Связь один-ко-многим. Или многие-ко-многим. _______________ Alex There are three kinds of people: those who can count and those who can't ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 21:54 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Violina - the given example is the example of zero level knowledge or about it. Recomended 'Concept' reading. Gt - "т.е. чем выше уровень тем дольше будет план перебиратся ? или почему бы не ставить везде наивысший ? оракл знаю может взять неоптимальный план из-за того что решает что быстрей выполнит его чем будеть искать оптимальный, а тут как ?" www.ibm.com/db2 - could you find an info yourself? If you are interesting in - install DB2, it has a doc with it, and read. Violina - "А если продолжительные селекты или селекты с "широким охватом" данных нужно в системе выполнять в силу требований к ней? Тогда обычно начинается - отчеты только вечером или по выходным или мол нужно рядом небольшой DWH ставить." - no. WHat you have described is a System, where a database is a part only, and with a proper system design and using IBM software it's not so big deal to resolve such 'problem' and don't have reports delayed for night/weekend time. Shell we start with system design overview? I may say only, that all reports can work in parallel with OLTP, and with the different prioriries ( managers have biggest priorities, clerks have lowest) without any deadlock and lock excalation. And it's not so difficult to implement. But such solution involves as db2 tuning and/or utilities, as another IBM software. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 22:14 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
but such System design has a requirements to isolate developers from the production system and pass all request for data getting and SQL statemets through DBA audit. back-end developers had workstation of the same architecture as a server with DB2 installed, and after a compiled binary passed the audit it transfered to the server. With front-end developers it was different story, much cheaper :) I don't think the situation is too differ in other companies. I hope so. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 22:22 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
2stdio блин ну детский сад - итак у нас 5 табличек 80 полей, нужно обеспечить поиск по всем полям, очень глупо если ваш поиск будет гнать запрос с джоином на 5 таблиц даже если юзера во сновном ищут по имени. 2ggv авторcould you find an info yourself? типа спецов по дб2 настолько мало что мало кто может ответить на простейшие вопросы ? хоть бы линк на раздел дал ну не знаешь - промолчи зачем на гугл отсылать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 22:47 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Gt - sorry, who did say you about google? I said you about www.ibm.com/db2 , where from you could find db2 doc easy. Also I did say you might install db2 and get the doc with it, if you are interesting. And the doc has a chapter about optimization level. Also there are planty of other resources, but the doc is primary. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 22:57 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
мне не понятно если на их сайте это easy в чем проблема дать прямой линк на документ ? и можно ли дб2 можно скачать официально с их сайта или вы мне воровать предлагаете ? я потратил 5 минут и не нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 23:29 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
the good start points are Information Center -> Reference -> SQL -> Queries and subqueries -> Optimization classes; Information Center -> Concepts -> Administration -> Performance tuning -> Application considerations -> Optimization factors -> Optimization class guidelines; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 23:29 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
"я потратил 5 минут и не нашел." - hmm, with such info search ability I see why you have 'problems' :) (just joke) http://www14.software.ibm.com/webapp/download/product.jsp?pf=Linux&s=c&id=TDUN-49EVGU&type=b&presb=&postsb=&cat=data or from http://www-306.ibm.com/software/data/db2/ chose in drop-down list a platform you are interesting in and then click "download" in opened the page. Information Center I have mentioned is available at http://publib.boulder.ibm.com/infocenter/db2help/index.jsp The same you might get after db2 installing. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 23:38 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
что такое Information Center на www.ibm.com/db2 такого нет. в поиске тоже. а что за проблема с прямой ссылкой ? зачем описывать пункты меню ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 23:39 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
to ggv Хорошо. поставлю вопрос по конкретнее. Как решается следующая задача в DB2? Есть OLTP система. Продолжительные массивные отчеты не рассматриваем, селекты после завершения сразу комитятся. Данные на редактирование выбираются не только точечными запросами, но и с помощью поиска по различным критериям, возможно повторно с уточнениями, пока не будет найден нужный объект для редактирования. Во вторых некоторые сложные проверки бизнес-правил реализованы с помощью селектов на разные таблицы, частично с применением агрегации. Проверки инициируются либо из триггеров, либо явно перед изменениями. Кроме того в штатные операции входят также вызов простеньких отчетов для простмотра текщего сотстояния - например продажи за сегодняшний день, недавние поступления итп. Вопросы 1) При низкой активности, влияние блокирующих селектов минимально. Но существует ли опасность в силу наложения блокировок при чтении, что при значительном росте количества одновременных пользователей такие штатные селекты в системе могут отрицательно сказаться на ее пропускной способности? Ведь при большом количестве одновременных пользователей селекты(обобенно с агрегацией) и операции изменения данных будут "мешать" друг другу. Пожалуйста обоснуйте ответ, хотя бы на том уровне, на каком я рассказала про механизм блокировок в Oracle. Тирады типа "excellent IBM software lets you solve any problems" не надо. 2) Если такие проблемы будут иметь место, какими путями они решаются при таком механизме блокировок как в DB2? Грязное чтение не предлагать. 3) Если работающий селект натыкается на измененную но незакомиченную запись, которую ему нужно учесть, он ждет? Какие еще могут быть решения, кроме как требование коммитить как можно быстрее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 09:24 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
чудес не бывает. http://www.redbooks.ibm.com/redbooks/pdfs/sg244725.pdf This scenario illustrates how commit frequency affects the performance of DB2 applications. In 3.5, “Summary of Recommendations” on page 107, we made some recommendations related to the need to commit frequently to avoid locking so much data as to compromise system concurrency. Of course, committing frequently to release locks has a cost. The commit frequency must be a compromise between availability and concurrency of data , and also performance of DB2 applications. ..... 5.1.3 When to Commit? The question, then, is when to commit. We have seen that frequent commits is expensive because of increased CPU consumption and elapsed time, and infrequent commits hurts concurrency . Given a theoretical commit frequency interval of 50 updates, the total interval time for those 50 updates (that is, the total time the pages are actually locked), depends on the program access path, the physical disposition of the updates (in case of page or row locking), and the CPU cost of the accesses. Adding more logic to the program, so that it commits every 0.5 to 5 seconds, appears to be a useful approach. The exact value can be determined based on the needs of the environment, the characteristics of the program, and the longest running SQL statement in the program. If any SQL call takes more than 5 seconds, any possible commit interval based control is of no use, as previous locks remain until the SQL finishes. We recommend modifying the database design (for instance, adding one more index) or the logic of the program. If this is not possible, then the only solution is to insert a commit point before the long SQL call so that all previous locks are not held until the long SQL call finishes. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 10:21 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Violina - the system you have described is one to one our VoIP accounting/mediation/billing system. The system is distributed - many points over internet. The system has high load - the throughput up to 13 Mbps. And so on, and so force. You will be wondered - but it works. Works for two years now. Do you think the whole business use Oracle only? do you really think so? You will be wondered again, but abroad companies still use sybase. Informix is used really widely, and of course DB2. It's not first time I see oracle dba think there are no any other rdbms except their favorite. Unfortunatelly, I don't have any time and willing to make here a short courses. One thing is to answer to a question where the author has faced a problem and did everything for its solving including searching/reading/learning, the other thing is to spend the time answering to one who is at the postition "I don't know, I did not search, I did not learn, I did not try, and you all have to explain" And I'd prefer to read here, not to post, I know there are many much experienced people here, and probably I know the reason they ignore the discussion. Perhaps I have to also. I just make money out of DB2, I don't do any research. Thank you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 10:30 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
I'd chose sybase but not oracle for a project, if I did not have db2. Sybase has an excellent memory management, if to compare the lack of it in oracle ('named buffer pools'), and sybase has it for years, since 10.x, if I remember correctly. That is more important for 'real' system, than locking problem. Don't ask me here what is a 'named bufferpool'. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 11:04 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
to ggv You will be wondered - but it works. Works for two years now. Do you think the whole business use Oracle only? do you really think so? It's not first time I see oracle dba think there are no any other rdbms except their favorite. Ну вот... Я же просила без выпадов. Я же задала конкретные технические вопросы - возникают ли проблемы в описанной ситуации и как они решаются в DB2. Жаль, что ответ по существу и пример из доки я получила от Ораклоида, а не от представителей DB2. Действительно, сладывается впечатление что Gt.типа спецов по дб2 настолько мало что мало кто может ответить на простейшие вопросы ? хоть бы линк на раздел дал ну не знаешь - промолчи зачем на гугл отсылать ? ggvIt's not first time I see oracle dba think there are no any other rdbms except their favorite. Это не так. Я спросила про оптимизатор и привела пример, что понравилось моему знакомому специалисту по DB2 в Oracle - механизм блокировок. Сразу последовал выпад, что механизм реализован неудачно. Приведу экстракт завязавшейся дискуссии по поводу механзима блокировок. NikolayПо мне так Oracle механизм блокировок не есть GOOD для чистого OLTP или DW слишком много ресурсов допоглнительных требует. Абсолютно необоснованное утверждение. Можно было бы гордо упоминуть на zero knowledge of the matter, кинуть ссылками на concepts и порекомендовать поставить Oracle. Но я решила попытаться развеять такое заблуждение. Violina Блокировки в Oracle это просто атрибут данных. В этом отношении механизм отличается от других СУБД. Отсутсвует такое узкое место как менеджер блокировок, это одна из причин почему Oracle практически никогда не делает эскалацию блокировок , в ней просто нет необходимости. Про то, что запись никогда не блокирует чтение, и чтение никогда не блокирует запись вы наверное знаете . И то что нет необходимости подкоммичивать периодически изменения, чтобы освободить ресурсы и предотвратить дедлоки. Последовал контраргумент, что такой механизм означает большие дополнительные затраты IO. NikolayХранение блокировок в страницах имеет следствие - более высокиe требования к IO. Было объяснено почему это не так. ViolinaС этим можно было бы согласиться, если бы IO делалось исключительно для блокировок, но поскольку IO так и так делаются в силу изменения данных ( при чтении ВООБЩЕ НЕ накладываются какие бы то ни было блокировки ), то убиваются сразу 2 зайца, см. мой постинг при выборе данных на изменение или непосредственно изменение данные так и так затрагиваются, так что дополнительные расходы на управление блокировками ничтожны. С затратами которые несет менеджер блокировок и вынужден делать эскалацию, они пренебрежимо малы. Плюс аналогия с попутчиком ViolinaОпять же приведу аналогию. Одно дело когда ты не планировал ехать например в центр города, а тебя попросили кого то свозить туда, другое дело когда ты так и так по своей надобности поехал туда и к тебе примазался попутчик. Конечно будут дополнительные затраты на бензин из за возросшей массы (+попутчик), но они не существенны. Был контраргумет по поводу наличия "совершенно ненужных избыточных" сегментов отката. NewYear там есть какие-то дурацкиe rollback-segments, которые никому не нужны Было объяснено, что сегменты отката не полностью повторяют redo журнал а частично облегчают его. Так что избыточность rollback segments не равна 100% а намного ниже. INSERT генерит много redo, но мало undo. DELETE наоборот. В случае update имеет место некоторая избыточность, однако в случае изменения "маленького" значения на "большое" и наоборот имеет место ситуация, аналогичная INSERT / DELETE. ViolinaЯ говорю о разделении следующих задач в Оракл - откат транзакций и получение before images и - защита(журнализация) изменений на случай сбоя целями которго являеются в частности - осутствие взаимных блокировок чтение/запись - избежание узких мест/конкуренции при записи в журнал в моменты массивных нагрузок. Другими словами минимизация объемов данных, которые должны быть записаны на диск немедленно и окончания записи которых необходимо обязательно дождаться. Был задан встречный вопрос/аргумент, что если есть только redo журнал, то просто необходимо больше данных писать в него (+ UNDO данные, которые в Оракл пишуться в сегменты отката). И окончания записи всех этих данных при комите нужно обязательно дождаться. Violina Ведь раз UNDO тоже пишется в REDO журнал , оно тоже должно гарантировано быть записано на диск на случай сбоя , чтобы откатить незакомиченные данные на момент сбоя. В Oracle этого делать не нужно, redo журналы для отката как такового не используются , но например измения в rollback segments также защищены redo журналом , так что они (измения в rbs) тоже могут быть записаны Ораклом тогда, когда он сочтет нужным. Реакции на него не последовало. И так, описанный механизм блокировок в Oracle имеет следующие фичи - не происходит эскалаций - чтение не блокирует запись - запись не блокирует чтение - чтение не накладывает блокировок вообще - минималистическая политика блокировок, блокируется только то, что нужно И называть его просто так с потолка "неудчным" для OLTP систем по крайней мере несколько странно. Что мы имеем в DB2 - блокирующее чтение - эскалация блокировок - необходимость комитить как можно чаще, чтобы освободить ресурсы Замечательно. Вот более "удачный" механизм для OLTP систем. Какие же аргументы приводяться. NikolayНу и что что чтение блокирует запись. Кого это интересует. Блокировки и интересует кол-во обработанных транзакций за определенное время, время реакции на определенный запрос и так далее. Версии вещи сугубо перпендикулярные этим понятиям. Интересный агрумент. И главное с чего решили, что механизм блокировок Oracle снижает время отклика, а у DB2 повышает? Если селект натыкается на изменненные данные, он берет старую версию из сегментов отката, да в этом случае это делается чуть дольше чем просто чтение, в DB2 же в этом случае тоже будет задержка, пока данные не закомитят или откатят. Слкдующий аргумент - эти проблемы вроде как решаемы, однако описание конкретных способов приведено не было, Только Gt. привел подтверждение их наличия и описание мер, которые необходимо принимать чтобы обеспечить a compromise between availability and concurrency of data. Потом последовали выпады, не имеющиме ничего общего с технической стороной вопроса. По поводу Sybase has an excellent memory management, if to compare the lack of it in oracle ('named buffer pools'), and sybase has it for years, since 10.x, if I remember correctly. Не надо просто искать точный эквивалент:) В Oracle есть опция CACHE для таблицы и есть три пула, каждый со своим механизмом кэширования DEFAULT Кэширование/вытеснение по частоте использования. RECYCLE Предназначен для данных которые с очень низкой вероятностью могут быть использованиы снова. Изолированность таких данных в пуле RECYCLE предотвращает вытеснение ими данных, которым следует находиться в кэше. KEEP Привилигерованный пул. Кэширование/вытеснение по частоте использования. Объекты в нем конкурируют только с другими привилигированными объектами а не со всеми остальными. Как раньше было в очередях за пивом - обычная очередь (DEAULT), и очередь с заднего хода (KEEP), где пиво продается дороже, но и очередь поменьше:) В зависимости от особенностей использования, можно назначть таблице или индексу тот или иной пул, где они будут "ошиваться". Данный механизм обеспечивает не менее эффективный memory management. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 13:09 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=32535432&tid=1603768]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
84ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 257ms |
| total: | 462ms |

| 0 / 0 |
