|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
При поиске/сканировании по индексу в MS SQL данные всегда берутся из индексов, в Firebird индекс содержит ссылку на запись и данные берутся из таблицы. Какие плюсы и минусы у различных способов индексирования и как это реализовано в других СУБД? Вопрос чисто теоретический, надеюсь того кто знает не затруднит просветить в этом плане. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2011, 03:25 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Индекс СпособовичПри поиске/сканировании по индексу в MS SQL данные всегда берутся из индексовЯ хоть MS SQL и не знаю, но готов поспорить, что это неверно. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2011, 09:54 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
miksoftИндекс СпособовичПри поиске/сканировании по индексу в MS SQL данные всегда берутся из индексовЯ хоть MS SQL и не знаю, но готов поспорить, что это неверно. Всегда - не верное утверждение, с чего ТС так решил не ясно. Для некластерных индексов обычно вернее даже обратное (если не брать include). ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2011, 10:09 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Индекс СпособовичКакие плюсы и минусы у различных способов индексирования и как это реализовано в других СУБД? Плюс и минус тут тупо один: скорость работы. Разные индексы работают лучше остальных в разных ситуациях. Поэтому в "других СУБД" есть туева хуча типов индексов и огромные тома документации в которых подробно расписывается в каких случаях какие типы лучше использовать. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2011, 12:01 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
kDnZPmiksoftпропущено... Я хоть MS SQL и не знаю, но готов поспорить, что это неверно. Всегда - не верное утверждение, с чего ТС так решил не ясно. Для некластерных индексов обычно вернее даже обратное (если не брать include). Да уточню, не всегда, при Index Seek через Key Lookup будет брать из кластерного/таблицы. При Index Scan всегда, либо вообще не будет использовать индекс. Dimitry SibiryakovИндекс СпособовичКакие плюсы и минусы у различных способов индексирования и как это реализовано в других СУБД? Плюс и минус тут тупо один: скорость работы. Разные индексы работают лучше остальных в разных ситуациях. Поэтому в "других СУБД" есть туева хуча типов индексов и огромные тома документации в которых подробно расписывается в каких случаях какие типы лучше использовать. Это понятно, интересует чуть больше деталей. Интересует обычный B-tree индекс и именно варианты его реализации в различных СУБД. Расскажите хотя бы в первом приближении. Или киньте ссылкой на материал именно по этой теме. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2011, 18:08 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Индекс СпособовичИнтересует обычный B-tree индекс и именно варианты его реализации в различных СУБД. Варианты не в реализации, а в том, что именно в индексе хранится. У IB/FB в индексе хранится фактически хэш данных и именно поэтому она всегда лезет за реальными данными в таблицу. Зато поиск по индексу сводится к быстрому сравнению бинарных данных. Это оптимально когда выбирается малое число записей из многих. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2011, 18:24 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
On 29.03.2011 10:54, miksoft wrote: > При поиске/сканировании по индексу в MS SQL данные *всегда* берутся из индексов > > Я хоть MS SQL и не знаю, но готов поспорить, что это неверно. Таки неверно. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2011, 21:33 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
On 29.03.2011 4:25, Индекс Способович wrote: > При поиске/сканировании по индексу в MS SQL данные всегда берутся из индексов, в > Firebird индекс содержит ссылку на запись и данные берутся из таблицы. Это утверждение неверно. > Какие плюсы и минусы у различных способов индексирования и как это реализовано в > других СУБД? Основной способ индексирования во всех субд -- B+tree. Все остальные виды индексов в общем-то достаточно экзотичны и малоприменимы в общей практике, и призваны лечить какие-то экзотические тупые запросы. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2011, 21:36 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
MasterZivOn 29.03.2011 4:25, Индекс Способович wrote: > При поиске/сканировании по индексу в MS SQL данные всегда берутся из индексов, в > Firebird индекс содержит ссылку на запись и данные берутся из таблицы. Это утверждение неверно. > Какие плюсы и минусы у различных способов индексирования и как это реализовано в > других СУБД? Основной способ индексирования во всех субд -- B+tree. Все остальные виды индексов в общем-то достаточно экзотичны и малоприменимы в общей практике, и призваны лечить какие-то экзотические тупые запросы. Прочитайте пожалуйста внимательно мое второе сообщение в теме. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2011, 22:34 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovИндекс СпособовичИнтересует обычный B-tree индекс и именно варианты его реализации в различных СУБД. Варианты не в реализации, а в том, что именно в индексе хранится. У IB/FB в индексе хранится фактически хэш данных и именно поэтому она всегда лезет за реальными данными в таблицу. Зато поиск по индексу сводится к быстрому сравнению бинарных данных. Это оптимально когда выбирается малое число записей из многих. Имеется ввиду, что индекс представляет собой b-дерево с неполными данными? Потому как хэш-данных храниться в хэш-индексах, которые не имеют информации о порядке и отсутствуют в IB/FB. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2011, 23:08 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Индекс СпособовичИмеется ввиду, что индекс представляет собой b-дерево с неполными данными? Потому как хэш-данных храниться в хэш-индексах, которые не имеют информации о порядке и отсутствуют в IB/FB. А что такое неполные данные? И почему это хэш-индексы не имеют информации о порядке? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2011, 23:21 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovИндекс СпособовичИмеется ввиду, что индекс представляет собой b-дерево с неполными данными? Потому как хэш-данных храниться в хэш-индексах, которые не имеют информации о порядке и отсутствуют в IB/FB. А что такое неполные данные? И почему это хэш-индексы не имеют информации о порядке? 1. Меньше чем исходные данные. 2. По определению. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2011, 23:26 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Индекс Способович1. Меньше чем исходные данные. 2. По определению. А тебе никогда не приходило в голову, что в качестве хэш-функции можно выбрать, например, toupper() и тем самым получить case-insensitive индекс? При этом оба твоих пункта плачут и идут лесом. Хэши, знаешь ли, не ограничиваются криптографическими... Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2011, 23:29 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovИндекс Способович1. Меньше чем исходные данные. 2. По определению. А тебе никогда не приходило в голову, что в качестве хэш-функции можно выбрать, например, toupper() и тем самым получить case-insensitive индекс? При этом оба твоих пункта плачут и идут лесом. Хэши, знаешь ли, не ограничиваются криптографическими... Если бы определением хэш-функции было - любая функция, вы были бы правы. Но у хэш-функции есть определение и то что вы приводите никак туда не подходит. Собственно как и case-insensitive индекс не подходит под определение хэш-индекса. Но если вы настаиваете, ладно вы правы. Лучше давайте вернемся к теме. К чему вы сказали про хэш данных в индексе? Dimitry SibiryakovВарианты не в реализации, а в том, что именно в индексе хранится. У IB/FB в индексе хранится фактически хэш данных и именно поэтому она всегда лезет за реальными данными в таблицу. Я так понимаю из индекса данные не берутся исключительно из-за отсутствия в них информации об актуальности данных (информации о версиях)? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2011, 23:45 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Я сказал это потому, что я не ограничиваю пространство хэш-функций узкими рамками функций, пригодных для криптографических целей. И так да, согласно этому определению любая функция может являться хэш-функцией пока удовлетворяет условию однозначности преобразования x в f(x). Поэтому f(x)=upper(x) или f(x)=x ничем не хуже чем f(x)=md5(x). Даже лучше, поскольку при условии x<y<z выполнение условия f(x)<f(y)<f(z) позволяет получить тот самый индекс, сохраняющий информацию о порядке. И данные из индекса не берутся не только из-за отсутствия информации об их актуальности, но и потому, что данных там, собственно, нет. Применяемая для получения индексного ключа функция в общем случае необратима, что как раз свойственно хэш-функциям. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 00:07 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovЯ сказал это потому, что я не ограничиваю пространство хэш-функций узкими рамками функций, пригодных для криптографических целей. И так да, согласно этому определению любая функция может являться хэш-функцией пока удовлетворяет условию однозначности преобразования x в f(x). Поэтому f(x)=upper(x) или f(x)=x ничем не хуже чем f(x)=md5(x). Даже лучше, поскольку при условии x<y<z выполнение условия f(x)<f(y)<f(z) позволяет получить тот самый индекс, сохраняющий информацию о порядке. И данные из индекса не берутся не только из-за отсутствия информации об их актуальности, но и потому, что данных там, собственно, нет. Применяемая для получения индексного ключа функция в общем случае необратима, что как раз свойственно хэш-функциям. ZXY<Zxy<abc и ZXY<ZXY<ABC ) Это называется коллизии, они так же не позволяют сохранять порядок. Если не ограничивать пространство арбузов узкими рамками тыквины, а ещё и яблоки арбузами называть. Я не настаиваю, но я бы предпочел называть функции подходящие под определение хэш-функции. Но не верьте мне, я просто беру частные случаи, на самом деле вы правы. Кстати, а как в Oracle с этим дело обстоит, там данные берутся из индекса? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 00:45 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Индекс СпособовичКстати, а как в Oracle с этим дело обстоит, там данные берутся из индекса? в B+Tree индексе данных нет. Есть только ссылки на данные, о чем и говорит DS. MS SQL (как и любой другой блокировочный сервер, и если в MS SQL не включать версионность) может использовать только индекс (без данных) по столбцу field например для count(field), потому что число ключей всегда соответствует числу записей. То же самое - если и поиск и выборка идет только одного индексного столбца, тут в данные лазить без надобности. У ФБ по причине версионности это не так. Например, у трех версий одной записи может быть 2 ключа. Т.е. количество ключей может быть больше чем количество записей, но не меньше чем количество версий. И, в ключах индексов ФБ не хранится информация о транзакции. Таким образом, без чтения версии и определения ее видимости нельзя посчитать count по столбцу. Dmitry Sibiryakov косвенно намекает на общее сходство обычных индексов ФБ с индексами по выражению, которые уж точно самих данных не содержат, хотя выражение может быть A+0, т.е. даже не меняющее значения столбца. При всем при этом индексы ФБ - достаточно обычные B+деревья, с некоторой спецификой, правда, куда входит как минимум префиксная компрессия и однонаправленность скана ключей. Данные в индексах - это как раз кластерные индексы, или, грубо говоря, таблица, отсортированная по "индексному" столбцу. Коллеги вполне могут меня поправить, я глубоко устройством кластерных индексов не интересовался. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 03:54 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
kdv, kdv... Например, у трех версий одной записи может быть 2 ключа . Т.е. количество ключей может быть больше чем количество записей, но не меньше чем количество версий . ... Сначала ключей меньше чем версий, потом обратное: ключей не может быть меньше чем версий. Где описка? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 07:44 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
kdvУ ФБ по причине версионности ... в B+Tree индексе данных нет. Я правильно понимаю, что в ФБ хранение в индексе хэша, а не данных Вы объясняете версионностью? Dimitry SibiryakovУ IB/FB в индексе хранится фактически хэш данных и именно поэтому она всегда лезет за реальными данными в таблицу. Зато поиск по индексу сводится к быстрому сравнению бинарных данных. Это оптимально когда выбирается малое число записей из многих. Я правильно понимаю, что такие понятия как covered indexes и indexes with included columns (которые позволяют снизить издержки на IO и "экономить" буфферный кэш) в IB/FB отсутвуют как класс? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 08:46 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Sk1N.Сначала ключей меньше чем версий, потом обратное: ключей не может быть меньше чем версий. Где описка? :) ошибка во второй части. количество записей <= количество ключей <= количество записей+версий pkarklinЯ правильно понимаю, что в ФБ хранение в индексе хэша, а не данных Вы объясняете версионностью? нет. И про "хэш в индексе" Сибиряков уже объяснил, что ОН имел в виду. Хранятся, конечно, данные, только из-за отсутствия в ключе информации о транзакции невозможно определить видимость ключа без определения видимости записи. Целесообразность введения в ключ номера транзакции обсуждали, но насколько я помню, признали нецелесообразным - оверхед увеличения размера ключа больше чем польза от трюков "считал индекс, данные можно не читать". Например, в индексе не хранится сотня одинаковых ключей А - хранится 1 ключ А и отсортированная цепочка номеров записей, имеющих такой ключ. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 10:43 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
On 29.03.2011 19:08, Индекс Способович wrote: > Это понятно, интересует чуть больше деталей. > Интересует обычный B-tree индекс и именно варианты его реализации в различных СУБД. > Расскажите хотя бы в первом приближении. Или киньте ссылкой на материал именно > по этой теме. Там мало что можно придумать. Обычно делают префиксное сжатие ключа (как правило все ключи на странице начинаются с какого-то одного префикса, его не хранят, хранят только различающиеся суффиксы), иногда делают сжатие ключей (но это идиотизм воообще), и 2 самых дежурных темы -- -- как и когда заполнять и расщеплять страницы -- в виде чего хранить ссылки на записи в таблице. Это уже собственно к индексам мало относится, больше к архитектуре СУБД. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 11:23 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
kdvDmitry Sibiryakov косвенно намекает на общее сходство обычных индексов ФБ с индексами по выражению, которые уж точно самих данных не содержат, хотя выражение может быть A+0, т.е. даже не меняющее значения столбца. Да я, собственно, не намекаю, а прямо об этом говорю. Данные на пути в индекс всегда проходят преобразование в ключ. И функция этого преобразования - чёрный ящик. Даже если она обратима, никто об этом не знает, поэтому весь движок построен на предположении, что это преобразование необратимо. pkarklinЯ правильно понимаю, что такие понятия как covered indexes и indexes with included columns (которые позволяют снизить издержки на IO и "экономить" буфферный кэш) в IB/FB отсутвуют как класс? Именно так. За счёт этого нет проблем с регистро- и акценто-нечувствительностью при индексном доступе. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 11:40 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovИменно так. За счёт этого нет проблем с регистро- и акценто-нечувствительностью при индексном доступе. О каких проблемах идет речь? Например, регистро- и акценто-нечувствительность\нечуствительность в MS SQL может быть задана вплоть до уровня отдельного поля в таблице. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 12:33 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Индекс СпособовичDimitry SibiryakovЯ сказал это потому, что я не ограничиваю пространство хэш-функций узкими рамками функций, пригодных для криптографических целей. И так да, согласно этому определению любая функция может являться хэш-функцией пока удовлетворяет условию однозначности преобразования x в f(x). Поэтому f(x)=upper(x) или f(x)=x ничем не хуже чем f(x)=md5(x). Даже лучше, поскольку при условии x<y<z выполнение условия f(x)<f(y)<f(z) позволяет получить тот самый индекс, сохраняющий информацию о порядке. И данные из индекса не берутся не только из-за отсутствия информации об их актуальности, но и потому, что данных там, собственно, нет. Применяемая для получения индексного ключа функция в общем случае необратима, что как раз свойственно хэш-функциям. ZXY<Zxy<abc и ZXY<ZXY<ABC ) Это называется коллизии, они так же не позволяют сохранять порядок. Если не ограничивать пространство арбузов узкими рамками тыквины, а ещё и яблоки арбузами называть. Я не настаиваю, но я бы предпочел называть функции подходящие под определение хэш-функции. Но не верьте мне, я просто беру частные случаи, на самом деле вы правы. Кстати, а как в Oracle с этим дело обстоит, там данные берутся из индекса? определение хэш функции соблаговолите представить :) а то получается почти как про 7 красных линий ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 12:44 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
А в оракле тоже непокрывающие чтоли? аки в фб? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 12:49 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
pkarklinНапример, регистро- и акценто-нечувствительность\нечуствительность в MS SQL может быть задана вплоть до уровня отдельного поля в таблице. И как идёт регистронечувствительный поиск по покрывающему индексу? Каждая строка из индекса приводится в верхний/нижний регистр перед сравнением с образцом? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 13:06 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovИ как идёт регистронечувствительный поиск по покрывающему индексу? Каждая строка из индекса приводится в верхний/нижний регистр перед сравнением с образцом? Что за привычка отвечать вопросом на вопрос... В следующем примере создано "нечуствительное поле" в чуствительной бд: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Т.е. неявно конвертиться не "строка индекса", а строковый литерал, который по дефолту имеет такой же коллэйшен, как и у бд. Результат: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Сравните с: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Результат: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 13:39 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Ivan DurakА в оракле тоже непокрывающие чтоли? аки в фб? нет. в Оракле версионность блоков, в ФБ версионность записей. в блоке хранится номер версии, влазит меньше данных. но блок лежит ПОД индексами, и ни индексы ни данные про версии не знают. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 13:51 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
pkarklinТ.е. неявно конвертиться не "строка индекса", а строковый литерал Для сравнения всегда нужны двое. Литерал ты проконвертил, отлично. С чем он теперь сравнивается? Очевидно, что с неким ключом из индекса. Как сравнивается? Очевидно, регистронечувствительно. Как такое сравнение вообще возможно? Сюрприз, но для этого оба аргумента функции stricmp() принудительно приводятся к одному регистру, после чего сравниваются двоично. Отсюда следует, что при поиске каждый ключ индекса преобразуется в верхний регистр. И так при каждом поиске. А эта операция недешева. Хоть и дешевле дискового В/В. Но при некотором (достаточно большом) количестве сравнений данный алгоритм может проиграть тому, который в индексах хранит уже преобразованное значение и использует только двоичное сравнение. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 14:01 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Если было бы так, как написано, то никакого бы seek не было. Был бы scan. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 15:31 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
pkarklinЕсли было бы так, как написано, то никакого бы seek не было. Был бы scan. Ну а как тогда оно происходит у MS в брюхе? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 15:36 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
ScareCrowIvan DurakА в оракле тоже непокрывающие чтоли? аки в фб? нет. в Оракле версионность блоков, в ФБ версионность записей. в блоке хранится номер версии, влазит меньше данных. но блок лежит ПОД индексами, и ни индексы ни данные про версии не знают. Т.е. так же в FB данные берутся не из индексов, а из блоков(в FB из записей). И также как в FB для индекс скана могут использоваться одновременно несколько индексов? А в IOT оракловом что позволят брать данные из индекса? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 18:58 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Индекс СпособовичА в IOT оракловом что позволят брать данные из индекса? То, что все данные находятся на листовом уровне индекса. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 19:02 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Le PeaceИндекс СпособовичА в IOT оракловом что позволят брать данные из индекса? То, что все данные находятся на листовом уровне индекса. И записи о версиях там же? А поля по которым построен индекса дублируются в листовом уровне индекса или беруться непосредственно из индекса? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 19:17 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Gluk (Kazan)Индекс Способовичпропущено... ZXY<Zxy<abc и ZXY<ZXY<ABC ) Это называется коллизии, они так же не позволяют сохранять порядок. Если не ограничивать пространство арбузов узкими рамками тыквины, а ещё и яблоки арбузами называть. Я не настаиваю, но я бы предпочел называть функции подходящие под определение хэш-функции. Но не верьте мне, я просто беру частные случаи, на самом деле вы правы. Кстати, а как в Oracle с этим дело обстоит, там данные берутся из индекса? определение хэш функции соблаговолите представить :) а то получается почти как про 7 красных линий Про 7 линий шикарно ) Хэш-функцией называется односторонняя функция, предназначенная для получения дайджеста или "отпечатков пальцев" файла, сообщения или некоторого блока данных. Хэш-код создается функцией Н: h = H (M) Где М является сообщением произвольной длины и h является хэш-кодом фиксированной длины. Хэш-функция Н, которая используется для аутентификации сообщений, должна обладать следующими свойствами: 1. Хэш-функция Н должна применяться к блоку данных любой длины. 2. Хэш-функция Н создает выход фиксированной длины. 3. Н(М) относительно легко (за полиномиальное время) вычисляется для любого значения М. 4. Для любого данного значения хэш-кода h вычислительно невозможно найти M такое, что Н(M) = h. 5. Для любого данного х вычислительно невозможно найти y<>x, что H(y) = H(x). 6. Вычислительно невозможно найти произвольную пару (х,y) такую, что H(y) = H(x). Хэш-функция, которая удовлетворяет первым пяти свойствам, называется простой или слабой хэш-функцией. Если кроме того выполняется шестое свойство, то такая функция называется сильной хэш-функцией. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 19:38 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
авторИ записи о версиях там же? А поля по которым построен индекса дублируются в листовом уровне индекса или беруться непосредственно из индекса? в Оракле записи о версиях хранятся уровнем ниже. в блоках. ни индексы ни данные про версии не знают. IOT это та же самая таблица, только завязанная в двунаправленный сортированный список по ключевым полям. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 21:08 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
авторТ.е. так же в FB данные берутся не из индексов, а из блоков(в FB из записей). в ФБ нельзя получить данные только из индекса, потому что прочитав индекс, ты не знаешь - видим ли элемент для твоей транзакции. в оракле ты это знаешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 21:10 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
On 30.03.2011 20:38, Индекс Способович wrote: Какое-то дебильное определение хэш-функции. > 4. Для любого данного значения хэш-кода h вычислительно невозможно найти M > такое, что Н(M) = h. > 5. Для любого данного х вычислительно невозможно найти y<>x, что H(y) = H(x). Ну а это просто враньё. Как раз наоборот, таких разных M и разных y будет много, которые дадут один и тот же h. В этом самая суть хэш-функции. Если этого нет -- это не хеш-функция, а свёртка. > 6. Вычислительно невозможно найти произвольную пару (х,y) такую, что H(y) = H(x). > > Хэш-функция, которая удовлетворяет первым пяти свойствам, называется простой или > слабой хэш-функцией. Это вообще не хеш-функция. Конечно, может быть у тебя какая-то своя, другая терминология, тогда уж укажи в начале послания, что, да как. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 21:13 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
MasterZiv знаете что такое "вычислительно невозможно найти" ) И приведите своё правильное и четкое определение хэш-функции. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 23:06 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
ScareCrowв Оракле записи о версиях хранятся уровнем ниже. в блоках. ни индексы ни данные про версии не знают . ScareCrow в ФБ нельзя получить данные только из индекса, потому что прочитав индекс , ты не знаешь - видим ли элемент для твоей транзакции. в оракле ты это знаешь. Что-то я совсем запутался. Как индексы не зная про версии знают видим ли элемент для твоей транзакции? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 23:10 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
kdvSk1N.Сначала ключей меньше чем версий, потом обратное: ключей не может быть меньше чем версий. Где описка? :) ошибка во второй части. количество записей <= количество ключей <= количество записей+версий pkarklinЯ правильно понимаю, что в ФБ хранение в индексе хэша, а не данных Вы объясняете версионностью? нет. И про "хэш в индексе" Сибиряков уже объяснил, что ОН имел в виду. Хранятся, конечно, данные , только из-за отсутствия в ключе информации о транзакции невозможно определить видимость ключа без определения видимости записи. Т.е. именно данные хранятся в индексе? А при Read Uncommited браться из индекса данные не смогут? Учитывая что FB можно использовать как embedded. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2011, 01:34 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Индекс СпособовичА при Read Uncommited браться из индекса данные не смогут? Не могут, поскольку во-первых, нет в FB Read Uncommitted. А во-вторых, то, что можно достать из индекса это не то, что стоило бы показывать пользователю. Как я уже неоднократно говорил, функция преобразования значения в ключ в общем случае необратима. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2011, 01:40 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Индекс СпособовичТ.е. именно данные хранятся в индексе? А при Read Uncommited браться из индекса данные не смогут? Учитывая что FB можно использовать как embedded. блжад. Embedded, не Embedded, никакой разницы. Версионность движка неотключаема, и это хорошо, ибо базе по барабану, "выделенный" сервер с ней работает, или сервер в виде exe+embedded. Далее, в ФБ нет Read Uncommitted в принципе. Более того, до версии 4.0 в InterBase не было Read Committed, был только Repeatable Read. Ну и, наконец, данные из индекса браться никак не могут, я уже объяснял почему. Пример1: запись, столбец field имеет значение 1, столбец проиндексирован, в индексе хранится ключ 1 со ссылкой на запись. новая транзакция модифицирует запись, но не меняет столбец field. Имеем 2 версии, при этом в индексе 1 ключ, ссылающийся на одну и ту же запись (у которой 2 версии). Пример2: запись, столбец field имеет значение 1, --//--- новая транзакция модифицирует запись, меняет столбец field на 2. Имеем 2 версии, при этом в индексе 2 разных ключа, ссылающихся на одну и ту же запись, видимую разным транзакциям (2 версии). Что для примера 1, что для примера 2, видимость конкретной версии для конкретной транзакции определяется только номером и состоянием транзакции, создавшей конкретную версию. В ключах индекса этой информации нет. Значит, хоть ключ и содержит данные, для определения видимости сервер должен считать конкретную версию, чтобы понять, какой транзацкции что можно видеть. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2011, 04:51 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
On 31.03.2011 0:06, Индекс Способович wrote: > знаете что такое "вычислительно невозможно найти" ) Не, не знаю. Я знаю, что такое "можно найти" и знаю, что такое "нельзя найти". А "вычислительно невозможно найти" это очень похоже на "немножко беременна". Это как в EMC люди откровенно считают, что хэш-функция даёю уникальный код для своего аргумента. > И приведите своё правильное и четкое определение хэш-функции. Я что тут в преподаватели нанялся ? Найди литературу, почитай. Хопкрофта книга была хорошая. Ахо etc тоже. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2011, 11:49 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
MasterZiv> знаете что такое "вычислительно невозможно найти" ) Не, не знаю. Я знаю, что такое "можно найти" и знаю, что такое "нельзя найти". А "вычислительно невозможно найти" это очень похоже на "немножко беременна". если на поиск потребуется миллиард лет - это "можно найти" или "нельзя найти"? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2011, 12:21 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
On 31.03.2011 13:21, SergSuper wrote: > если на поиск потребуется миллиард лет - это "можно найти" или "нельзя найти"? Это -- "можно найти". Нерешаемая задача и сложнорешаемая задача -- не одно и то же. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2011, 12:38 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
MasterZivOn 31.03.2011 13:21, SergSuper wrote: > если на поиск потребуется миллиард лет - это "можно найти" или "нельзя найти"? Это -- "можно найти". Нерешаемая задача и сложнорешаемая задача -- не одно и то же. т.е. никакой разницы нет между задачами которые, решаются считанным количеством тактов и и которые решаются годами? "вычислительно невозможно найти" и подразумевает что найти можно только теоретически, перебором, для использования получения данных не предназначено ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2011, 14:17 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
SergSuperMasterZivOn 31.03.2011 13:21, SergSuper wrote: > если на поиск потребуется миллиард лет - это "можно найти" или "нельзя найти"? Это -- "можно найти". Нерешаемая задача и сложнорешаемая задача -- не одно и то же. т.е. никакой разницы нет между задачами которые, решаются считанным количеством тактов и и которые решаются годами? "вычислительно невозможно найти" и подразумевает что найти можно только теоретически, перебором, для использования получения данных не предназначено У "вычислительно невозможно найти" - граница меняется с каждым годом. Это нечеткое определение. А ТС взял определение криптографического хэша и пытается присобачить его к СУБД. А тут никто не поймет, зачем такие навороты в зоопарке БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2011, 17:02 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
SiemarglУ "вычислительно невозможно найти" - граница меняется с каждым годом. Это нечеткое определение.Вы действительно понятие "сложность вычислений" не слышали, или прикидываетесь? Почитайте про классы сложности. Все очень строго определено. Граница никуда не меняется и никак от быстродействия современных компьютеров не зависит. А вот от достижений математической мысли зависеть может :) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2011, 17:25 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Bogdanov Andrey, В Вике все доступно объяснено на трех пальцах. Но ТС наже в этом путается Индекс Способович3. Н(М) относительно легко (за полиномиальное время) вычисляется для любого значения М. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2011, 17:53 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
авторКак индексы не зная про версии знают видим ли элемент для твоей транзакции? никак. В Оракле когда что то читается, движок восстанавливает их состояние (грубо говоря) на момент старта транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2011, 18:02 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
ScareCrowавторКак индексы не зная про версии знают видим ли элемент для твоей транзакции? никак. В Оракле когда что то читается, движок восстанавливает их состояние (грубо говоря) на момент старта транзакции запроса. fixed ps Я был бы счаслив , если бы вы были правы , но увы :) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2011, 21:05 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
MasterZivOn 31.03.2011 13:21, SergSuper wrote: > если на поиск потребуется миллиард лет - это "можно найти" или "нельзя найти"? Это -- "можно найти". Нерешаемая задача и сложнорешаемая задача -- не одно и то же. Не, не знаю. Я знаю, что такое "можно найти" и знаю, что такое "нельзя найти". А "сложнорешаемая задача" это очень похоже на "немножко беременна". ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2011, 21:36 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
SiemarglBogdanov Andrey, В Вике все доступно объяснено на трех пальцах. Но ТС наже в этом путается Индекс Способович3. Н(М) относительно легко (за полиномиальное время) вычисляется для любого значения М. Чушь. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2011, 21:44 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
ScareCrowавторКак индексы не зная про версии знают видим ли элемент для твоей транзакции? никак. В Оракле когда что то читается, движок восстанавливает их состояние (грубо говоря) на момент старта транзакции. Ок. Т.е. в Оракле можно читать данные из индекса. А можно использовать одновременно несколько индексов для index scan или index seek? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2011, 21:48 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
совершенно беспонятия. склоняюсь что нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 00:48 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
ScareCrowсклоняюсь что нет. Это ты только что заявил, что Оракул так убог, что в нём нет Рашмора... Съядят, как есть съядят... Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 00:57 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
interestingScareCrowпропущено... никак. В Оракле когда что то читается, движок восстанавливает их состояние (грубо говоря) на момент старта транзакции запроса. fixed ps Я был бы счаслив , если бы вы были правы , но увы :) Зависит от уровня изоляции ващета :) увы Вам ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 09:43 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Gluk (Kazan), в PostgreSQL снапшот создаётся при первом запросе в транзакции, а не при BEGIN. Возможно в Oracle так же. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 11:53 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
ЁшGluk (Kazan), в PostgreSQL снапшот создаётся при первом запросе в транзакции, а не при BEGIN. Возможно в Oracle так же. почитай чем отличается RC от Serializable в оракле. поймешь о чем он. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 12:10 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Yo.!ЁшGluk (Kazan), в PostgreSQL снапшот создаётся при первом запросе в транзакции, а не при BEGIN. Возможно в Oracle так же. почитай чем отличается RC от Serializable в оракле. поймешь о чем он. Спасибо, Друг :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 14:36 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Yo.!ЁшGluk (Kazan), в PostgreSQL снапшот создаётся при первом запросе в транзакции, а не при BEGIN. Возможно в Oracle так же. почитай чем отличается RC от Serializable в оракле. поймешь о чем он.Это слишком сложно для меня. Если Вам не трудно, Вы лучше просто покажите, что Oracle выведет в этом примере: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Так мне будет понятней :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 15:25 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
ЁшYo.!пропущено... почитай чем отличается RC от Serializable в оракле. поймешь о чем он.Это слишком сложно для меня. Если Вам не трудно, Вы лучше просто покажите, что Oracle выведет в этом примере: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Так мне будет понятней :) Ошибку. Oracle не знает что такое now() ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 15:54 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Gluk (Kazan)Ошибку. Oracle не знает что такое now()Если Вам не трудно, исправьте пожалуйста now() на аналогичную функцию, которую знает Oracle и покажите пожалуйста результат исправленного примера. now() — это функция которая возвращает точно время начала транзакции с микросекундами. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 16:00 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
ЁшGluk (Kazan)Ошибку. Oracle не знает что такое now()Если Вам не трудно, исправьте пожалуйста now() на аналогичную функцию, которую знает Oracle и покажите пожалуйста результат исправленного примера. now() — это функция которая возвращает точно время начала транзакции с микросекундами. Если Вам не трудно, почитайте про уровни изоляции в Oracle. Благо есть где ... как грязи ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 16:05 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Ёш, CURRENT_TIMESTAMP вроде везде есть ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 16:05 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Gluk (Kazan)Ёшпропущено... Если Вам не трудно, исправьте пожалуйста now() на аналогичную функцию, которую знает Oracle и покажите пожалуйста результат исправленного примера. now() — это функция которая возвращает точно время начала транзакции с микросекундами. Если Вам не трудно, почитайте про уровни изоляции в Oracle.Мне это сделать трудно. Я не хочу читать 10 страниц текста только чтобы попытать представить, причём возможно с ошибкой, результат этого простого примера. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 16:12 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
ЁшGluk (Kazan)пропущено... Если Вам не трудно, почитайте про уровни изоляции в Oracle.Мне это сделать трудно. Я не хочу читать 10 страниц текста только чтобы попытать представить, причём возможно с ошибкой, результат этого простого примера. А я не хочу переводить Ваш (простой) пример на Oracle 1:1 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 16:14 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Gluk (Kazan), замени now() на CURRENT_TIMESTAMP ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 16:15 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Gluk (Kazan)Ёшпропущено... Мне это сделать трудно. Я не хочу читать 10 страниц текста только чтобы попытать представить, причём возможно с ошибкой, результат этого простого примера. А я не хочу переводить Ваш (простой) пример на Oracle 1:1 ?Ок :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 16:15 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
ОКТОГЕНЁш, CURRENT_TIMESTAMP вроде везде естьТолько возвращает он текущее время, а назвать время начала транзакции now могли только враги новичков. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 16:20 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
ОКТОГЕНGluk (Kazan), замени now() на CURRENT_TIMESTAMP Все равно не будет работать :) Сказать почему или документацию почитаете? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 16:44 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Gluk (Kazan), В postgresql CURRENT_TIMESTAMP = now() И возвращает время начала текущей транзакции. Чтобы узнать текущее время используется clock_timestamp() В oracle есть функция, которая возвращает время начала текущей транзакции? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 17:03 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Gluk (Kazan)ОКТОГЕНGluk (Kazan), замени now() на CURRENT_TIMESTAMP Все равно не будет работать :) Сказать почему или документацию почитаете? Скажите, будьте добры, а то дока http://download.oracle.com/docs/cd/B28359_01/olap.111/b28126/dml_functions_1054.htm говорит о том же. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 17:13 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
ОКТОГЕН, на самом деле я затупил, зачем вообще в примере время? Можно же просто единичку допустим вставлять в таблицу, смысл не поменяется :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 17:19 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Ёш, я тоже. Всё что коммитится - становится видным в другой транзакции. В пж по крайней мере. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 17:28 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Gluk (Kazan), скажите нам в оракле такое же поведение, и если нет, то в чём отличие? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 17:29 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
ОКТОГЕН, Прочтите уже хоть википедию про уровни изоляции, не имеющие прямого отношения к этой теме. В оракле, с небольшими вариациями интерпретации, поддерживаемые уровни - READ COMMITED и SERIALIZABLE. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 17:39 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
ОКТОГЕНЁш, я тоже. Всё что коммитится - становится видным в другой транзакции. В пж по крайней мере.Это если по умолчанию, при read committed, при serializable pg делает снапшот при первом запросе в транзакции и больше его не «двигает» при следующих запросах, так что в примере в первой транзакции всегда будет возвращаться одна строка, даже если её удалить и закомитить удаление в параллельной транзакции :) Я спросил в разделе по Oracle, там пишут что Oracle не увидит изменения после begin, так что он видимо «делает снапшот» сразу при begin, а не ждёт первого запроса как pg. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 17:41 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Ёш, а получится закоммитить другую транзакцию? Блокировок разве не будет? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 17:49 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
ЁшОКТОГЕНЁш, я тоже. Всё что коммитится - становится видным в другой транзакции. В пж по крайней мере.Это если по умолчанию, при read committed, при serializable pg делает снапшот при первом запросе в транзакции и больше его не «двигает» при следующих запросах, так что в примере в первой транзакции всегда будет возвращаться одна строка, даже если её удалить и закомитить удаление в параллельной транзакции :) Я спросил в разделе по Oracle, там пишут что Oracle не увидит изменения после begin, так что он видимо «делает снапшот» сразу при begin, а не ждёт первого запроса как pg. У Oracle нет begin :) (Вернее есть, но к транзакциям он отношения не имеет) И select без from не канает (и без into в анонимном блоке тоже) и много других "мелких" отличий :) Скушно все это, пока ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 17:54 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
ОКТОГЕНЁш, а получится закоммитить другую транзакцию? Блокировок разве не будет?получится, версионник же, select не блокирует delete :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 18:01 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Ёшверсионник же, select не блокирует delete :) Ещё бы в нём insert не блокировал delete, так был бы версионник... Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 18:05 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Раз уж тут специалисты по PG есть, как обстоят в нем дела индексированием. 1. Данные могут браться из индекса (версионный/блокировочный режим)? 2. При index seek и index scan могут использоваться несколько индексов? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 18:15 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Индекс СпособовичРаз уж тут специалисты по PG есть, как обстоят в нем дела индексированием. 1. Данные могут браться из индекса (версионный/блокировочный режим)?Нет, есть в TODO, но такая возможность пока не реализована. Блокировочного режима нет. Индекс Способович2. При index seek и index scan могут использоваться несколько индексов?Да. http://www.postgresql.org/docs/current/static/indexes-bitmap-scans.html ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 18:36 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovЁшверсионник же, select не блокирует delete :) Ещё бы в нём insert не блокировал delete, так был бы версионник... А разве блокирует? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 18:43 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
ЁшА разве блокирует? Elic утверждает что да: http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=837896&msg=10414051 Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 18:54 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovЁшА разве блокирует? Elic утверждает что да: http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=837896&msg=10414051 Так это Oracle, а я про postgres ОКТОГЕНу отвечал %) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 19:01 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
ScareCrowсовершенно беспонятия. склоняюсь что нет. Можно: битмап индексы или битмап-конвершн обычных индексов. Индексы независимые, но используются совместно для поиска записей. Более того, в случае предиката по двум полям, по которым существуют два независимых битмап индекса и выборки значений только этих двух полей, к таблице обращения вообще не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2011, 19:40 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
ApexScareCrowсовершенно беспонятия. склоняюсь что нет. Можно: битмап индексы или битмап-конвершн обычных индексов. Индексы независимые, но используются совместно для поиска записей. Более того, в случае предиката по двум полям, по которым существуют два независимых битмап индекса и выборки значений только этих двух полей, к таблице обращения вообще не будет. "битмап-конвершн" это как в Firebird построение битовых карт по индексам? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2011, 00:32 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
И уж до кучи, может тут есть специалисты по MySQL, а как там с этим дела обстоят? 1. Данные могут браться из индекса (версионный/блокировочный режим)? 2. При index seek и index scan могут использоваться несколько индексов? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2011, 00:35 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
ApexМожно: битмап индексы или битмап-конвершн обычных индексов.или AND EQUAL ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2011, 13:09 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
On 03.04.2011 1:35, Индекс Способович wrote: > И уж до кучи, может тут есть специалисты по MySQL, а как там с этим дела обстоят? Для начала нам много engine, в каждом индексы и таблицы свои. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2011, 22:48 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
On 03.04.2011 1:35, Индекс Способович wrote: > И уж до кучи, может тут есть специалисты по MySQL, а как там с этим дела обстоят? > 1. Данные могут браться из индекса (версионный/блокировочный режим)? Почему ты вообще думаешь, что данные НЕ могут когда-то браться из индекса ? Могут. От версионности или блокировочности там ничего не зависит. > 2. При index seek и index scan могут использоваться несколько индексов? Нет, MySQL таких стратегий выполнения не имеет, на сколько я в курсе. Возможно, где-то более 5.1 что=то есть. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2011, 22:51 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
авторМогут. От версионности или блокировочности там ничего не зависит. ага, щас. Скажите этО Firebird ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 01:15 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
ScareCrowавторМогут. От версионности или блокировочности там ничего не зависит. ага, щас. Скажите этО Firebird С этого места подробнее :) Как версионность влияет на возможность брать данные непосредственно из индексов, не обращаясь к таблицам? Видимо я что-то пропустил в этой жизни :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 08:33 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Gluk (Kazan)Как версионность влияет на возможность брать данные непосредственно из индексов, не обращаясь к таблицам? Видимо я что-то пропустил в этой жизни :) Мы привыкли к версионности на уровне блоков, то есть к автоматической версионности любых объектов БД вплоть до секвенсоров, которым она мешает. В Интербейсе картина немного иная ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 09:06 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
On 04.04.2011 2:15, ScareCrow wrote: > ага, щас. Скажите этО Firebird "MySQL, а как там с этим дела обстоят?" Маша ? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 09:18 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Gluk (Kazan)interesting автор Как индексы не зная про версии знают видим ли элемент для твоей транзакции? ScareCrowпропущено... никак. В Оракле когда что то читается, движок восстанавливает их состояние (грубо говоря) на момент старта транзакции запроса. fixed ps Я был бы счаслив , если бы вы были правы , но увы :) Зависит от уровня изоляции ващета :) увы Вам Мне ? Спасибо :) Давайте разберемся , на каких уровнях изоляции транзакция в оракл может использовать версии :) На всех прочих соотвественно не может . Вариантов не много , думаю для вас не составит труда их перечислить. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 10:59 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
interestingGluk (Kazan)пропущено... Зависит от уровня изоляции ващета :) увы Вам Мне ? Спасибо :) Давайте разберемся , на каких уровнях изоляции транзакция в оракл может использовать версии консистентное чтение . На всех прочих соотвественно не может . и почему именно так ( Hint: SQL standard) Вариантов не много , думаю для вас не составит труда их перечислить ? fixed , дабы вопрос был более понятен . ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 11:30 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
interestingДавайте разберемся , на каких уровнях изоляции транзакция в оракл может использовать версии консистентное чтение . На всех прочих соотвественно не может . и почему именно так ( Hint: SQL standard) Вариантов не много , думаю для вас не составит труда их перечислить ? странный у вас вопрос. оракл всегда использует консистентное чтение, по другому он совсем не умеет. на уровне RC консистентное чтение будет обеспечено на момент старта запроса (там есть один нюанс, но не принципиальный), на Serializable на момент старта транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 12:32 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Yo.!interestingДавайте разберемся , на каких уровнях изоляции транзакция в оракл может использовать версии консистентное чтение . На всех прочих соотвественно не может . и почему именно так ( Hint: SQL standard) Вариантов не много , думаю для вас не составит труда их перечислить ? странный у вас вопрос. оракл всегда использует консистентное чтение, по другому он совсем не умеет. на уровне RC консистентное чтение будет обеспечено на момент старта запроса (там есть один нюанс, но не принципиальный), на Serializable на момент старта транзакции. авторВ Оракле когда что то читается, движок восстанавливает их состояние (грубо говоря) на момент старта транзакции запроса. Пожалуйста прокоментируйте выделенный текст , во форазе которую я исправил . Помоему он однозначно намекает на конкретный уровень изоляции . Или вы хотите сказать, что в Serializable оракл тоже что то автордвижок восстанавливает их состояние (грубо говоря) читать выделенное . Подтвердите это ссылкой на незангажированный документ ( оракл доку или стандарт ). зы ИМХО лучше сначала внимательно почитать , а потом говорить :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 12:42 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
interestingИли вы хотите сказать, что в Serializable оракл тоже...Кажется вы боязливо пытаетесь намекнуть на ошибку сериализации, которая не связана с обеспечением целостной записи, а не целостного чтения. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 12:49 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
softwarerGluk (Kazan)Как версионность влияет на возможность брать данные непосредственно из индексов, не обращаясь к таблицам? Видимо я что-то пропустил в этой жизни :) Мы привыкли к версионности на уровне блоков, то есть к автоматической версионности любых объектов БД вплоть до секвенсоров, которым она мешает. В Интербейсе картина немного иная Как то не подумал об этом нюансе (зачем тут ушки (c) ) Значит у MS SQL с этим тоже могут быть проблемы? Это уже недоверсионность какая-то ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 12:49 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
interestingGluk (Kazan)пропущено... Зависит от уровня изоляции ващета :) увы Вам Мне ? Спасибо :) Давайте разберемся , на каких уровнях изоляции транзакция в оракл может использовать версии :) На всех прочих соотвественно не может . Вариантов не много , думаю для вас не составит труда их перечислить. Oracle на всех своих уровнях изоляции не может не использловать СВОЮ версионность :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 12:50 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
interestingПожалуйста прокоментируйте выделенный текст , во форазе которую я исправил . Помоему он однозначно намекает на конкретный уровень изоляции . Или вы хотите сказать, что в Serializable оракл тоже что то автордвижок восстанавливает их состояние (грубо говоря) читать выделенное . Подтвердите это ссылкой на незангажированный документ ( оракл доку или стандарт ). зы ИМХО лучше сначала внимательно почитать , а потом говорить :) чукча совсем писатель ? начни с базового http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/consist.htm#i13945 на RC движок "восстанавливает" состояние блоков на момент старта запроса, на Serializable на момент старта всей транзакции. чего тут может быть не понятно ? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 12:54 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
interestingавторВ Оракле когда что то читается, движок восстанавливает их состояние (грубо говоря) на момент старта транзакции запроса. зы ИМХО лучше сначала внимательно почитать , а потом говорить :) А иногда крайне важно еще и внимательно писать. Транзакции запроса да? Наводящий вопрос: а что если транзакция началась РАНЬШЕ запроса? Подумать в чем (в этом случае) заключается разница между Read Comitted (консистентная версия на момент начала запроса) и Serializable или Read Only (консистентная версия на момент начала транзакции) Сложно? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 12:56 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
-2-interestingИли вы хотите сказать, что в Serializable оракл тоже...Кажется вы боязливо пытаетесь намекнуть на ошибку сериализации, которая не связана с обеспечением целостной записи, а не целостного чтения. Вы намекаете на миниоткаты? ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 12:57 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
-2-interestingИли вы хотите сказать, что в Serializable оракл тоже...Кажется вы боязливо пытаетесь намекнуть на ошибку сериализации, которая не связана с обеспечением целостной записи, а не целостного чтения. Serializable Транзакции ( по стандарту ) абсолютно всервно , что там не целостно ( чтение или запись). Стандарт говорит, что Serializable транзакция должна в общем случае отвечать требованию что она выполняется одна , либо она и все прочие конкурирующие транзакции выполняются последовательно. Есть конкретная трактовка и СУБД стандарту либо удовлетворяет либо нет . Если вы найдете конкретную цитату , противоречащую тому что я сказал ( вольному персказу стандарта в части Serializable транзакции) , я посыплю голову пеплом. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 13:06 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Gluk (Kazan)interestingпропущено... Мне ? Спасибо :) Давайте разберемся , на каких уровнях изоляции транзакция в оракл может использовать версии :) На всех прочих соотвественно не может . Вариантов не много , думаю для вас не составит труда их перечислить. Oracle на всех своих уровнях изоляции не может не использловать СВОЮ версионность :) Это такой мягкий слив , что бы не приводить 2 уровня изоляции , с описанием того на каком оракл использует ундо на на каком не использует ? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 13:10 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
interesting-2-пропущено... Кажется вы боязливо пытаетесь намекнуть на ошибку сериализации, которая не связана с обеспечением целостной записи, а не целостного чтения. Serializable Транзакции ( по стандарту ) абсолютно всервно , что там не целостно ( чтение или запись). Стандарт говорит, что Serializable транзакция должна в общем случае отвечать требованию что она выполняется одна , либо она и все прочие конкурирующие транзакции выполняются последовательно. Есть конкретная трактовка и СУБД стандарту либо удовлетворяет либо нет . Если вы найдете конкретную цитату , противоречащую тому что я сказал ( вольному персказу стандарта в части Serializable транзакции) , я посыплю голову пеплом. А кто сказал, что Oracle Serializable соответствует стандарту? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 13:11 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
interestingСтандарт говорит, что Serializable транзакция должна в общем случае отвечать требованию что она выполняется одна , либо она и все прочие конкурирующие транзакции выполняются последовательно. ты бы базовые вещи подучил прежде чем демонстрировать вселенскую глупость, в суровой реальность даже последняя редакция ANSI SQL ничего подобного не требует. там требуется эффект последовательного выполнения, но никак не выполнение. Serializable в оракле же делался во времена когда в стандарте ANSI SQL Serializable описывался через феномены. после ANSI SQL 1992 описание через феномены вырезали, оставили только "эффект последовательного", но оракл уже метаться не стал, оставил как есть. а блокировочный Serializable режим дурковатый, никогда не угадаешь чего начитаешь, в одном запросе можно получить записи которые оставила транзакция после до старта твоей serializable транзакции, но при этом не получить те что оставила транзакция стартанувшая до. вобщем полная чехорда, причем с гарантированным гемором в виде дедлоков. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 13:17 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Gluk (Kazan)А кто сказал, что Oracle Serializable соответствует стандарту? полностью соответствует стандарту ANSI SQL 1992 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 13:18 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Gluk (Kazan) А кто сказал, что Oracle Serializable соответствует стандарту? Мне показалось ( крещусь ), что вы на это мягко и издевкой намекаете http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=839325&msg=10455185 :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 13:22 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
interestingGluk (Kazan)пропущено... Oracle на всех своих уровнях изоляции не может не использловать СВОЮ версионность :) Это такой мягкий слив , что бы не приводить 2 уровня изоляции , с описанием того на каком оракл использует ундо на на каком не использует ? Неа, это намек на то что Oracle во всех случаях UNDO использует, но на разные моменты (старт запроса или транзакции) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 13:38 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
[quot Yo.!]interesting там требуется эффект последовательного выполнения, но никак не выполнение. Вот и прокоментируйте этот эффект в контексте авторВ Оракле когда что то читается, движок восстанавливает их состояние (грубо говоря) на момент старта транзакции запроса. Другими словами использует ли оракл данные из ундо в Serializable транзакции ? 2 Gluk (Kazan) хотелось бы ваше мнение ( коментарий) на этот счет тоже услышать. Так как ваше сообщение стало источником спора. зы Думаю сообщесту тоже будет интересно . ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 13:38 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
interestingGluk (Kazan)А кто сказал, что Oracle Serializable соответствует стандарту? Мне показалось ( крещусь ), что вы на это мягко и издевкой намекаете http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=839325&msg=10455185 :) И где там слово "стандарт"??? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 13:39 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Gluk (Kazan)interestingпропущено... Это такой мягкий слив , что бы не приводить 2 уровня изоляции , с описанием того на каком оракл использует ундо на на каком не использует ? Неа, это намек на то что Oracle во всех случаях UNDO использует, но на разные моменты (старт запроса или транзакции) Спасибо , ваша точка зрения понятна . Осталось подтвердить это сслыкой на доку . ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 13:41 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
interesting2 Gluk (Kazan) хотелось бы ваше мнение ( коментарий) на этот счет тоже услышать. Так как ваше сообщение стало источником спора. А Вы принципиально не читаете, что мы тут Вам с Yo пишем? Использует он UNDO, на уровне RC откатывает на момент начала запроса, на уровне Serializable на момент начала транзакции. Собсно, здесь мы расходимся с Yo в одном. Он считает, что Oracle Serializable соответвует стандарту, а мне этот вопрос не интересен :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 13:43 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
interestingGluk (Kazan)пропущено... Неа, это намек на то что Oracle во всех случаях UNDO использует, но на разные моменты (старт запроса или транзакции) Спасибо , ваша точка зрения понятна . Осталось подтвердить это сслыкой на доку . Сходи сам поищи :) я не нанимался ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 13:43 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Concepts: http://download.oracle.com/docs/cd/E11882_01/server.112/e16508/consist.htm#CNCPT88961 Transaction-Level Read Consistency Oracle Database can also provide read consistency to all queries in a transaction, known as transaction-level read consistency . In this case, each statement in a transaction sees data from the same point in time, which is the time at which the transaction began. Queries made by a serializable transaction see changes made by the transaction itself. For example, a transaction that updates employees and then queries employees will see the updates. Transaction-level read consistency produces repeatable reads and does not expose a query to phantom reads. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 13:47 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Gluk (Kazan)Вы намекаете на миниоткаты? ;)На ORA-08177: can't serialize access for this transaction ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 13:48 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
-2-Gluk (Kazan)Вы намекаете на миниоткаты? ;)На ORA-08177: can't serialize access for this transaction Ну в общем-то резонная ошибка ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 13:51 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Gluk (Kazan)-2-пропущено... На ORA-08177: can't serialize access for this transaction Ну в общем-то резонная ошибка Конечно, еще-бы :) )))) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 14:10 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
interestingGluk (Kazan)пропущено... Ну в общем-то резонная ошибка Конечно, еще-бы :) )))) А в чем юмор? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 14:16 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Gluk (Kazan)interestingпропущено... Конечно, еще-бы :) )))) А в чем юмор? Тебе это не интересно :) Gluk (Kazan)а мне этот вопрос не интересен :) И я взаимно с тобой не нанимался . ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 14:25 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
interestingGluk (Kazan)пропущено... А в чем юмор? Тебе это не интересно :) Gluk (Kazan)а мне этот вопрос не интересен :) И я взаимно с тобой не нанимался . А ... это такая неумелая попытка заинтриговать ??? Слив засчитан :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 14:30 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Gluk (Kazan)interestingпропущено... Тебе это не интересно :) пропущено... И я взаимно с тобой не нанимался . А ... это такая неумелая попытка заинтриговать ??? Слив засчитан :) Да это попытка заинтересовать :) Известно, что пустозвонов сливателей тут полно, не присоединяйся к их числу. В проф форуме вопрос задай , если что то не ясно . ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 14:39 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
interestingGluk (Kazan)пропущено... А ... это такая неумелая попытка заинтриговать ??? Слив засчитан :) Да это попытка заинтересовать :) Известно, что пустозвонов сливателей тут полно, не присоединяйся к их числу. В проф форуме вопрос задай , если что то не ясно . А ты меня не учи вопросы задавать :) 1. Ты спросил, я ответил. 2. Ты попросил ссылку в доку, я сказал недосуг (и заметь, я в своем праве) 3. Ты изобразил "попытку заинтересовать" 4. Я спросил ачоэта? 5. Ты слил ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 14:43 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Собственно ты прав :) Мне это не интересно ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 14:44 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
interesting, расскажите хоть мне, что именно хотите сказать. Или один говорит о начале старта запроса читающего данные, а другой о запросе изменившем эти данные? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 15:49 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Индекс Способович , Gluk (Kazan)-2-пропущено... На ORA-08177: can't serialize access for this transaction Ну в общем-то резонная ошибка Резонность ошибки в том , что консистентный блок ( для Serializable ) уже находится в ундо. А данные текущей версии блока (из датафайла) нарушают консистентность на моменнт старта транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 16:42 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Gluk (Kazan)interestingпропущено... fixed ps Я был бы счаслив , если бы вы были правы , но увы :) Зависит от уровня изоляции ващета :) увы Вам Хорошая была поклевка :) Жаль , что все так быстро закончилось . зы У жерика уныло стало , прошу прощения за офтоп . ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 19:14 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
interestingИндекс Способович , Gluk (Kazan)пропущено... Ну в общем-то резонная ошибка Резонность ошибки в том , что консистентный блок ( для Serializable ) уже находится в ундо. А данные текущей версии блока (из датафайла) нарушают консистентность на моменнт старта транзакции. Не вижу ссылку на афффторитетный источник ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2011, 08:20 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
ДохтаР_тролеведХорошая была поклевка :) Скууушна (c) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2011, 08:20 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Gluk (Kazan) Резонность ошибки в том , что консистентный блок ( для Serializable ) уже находится в ундо. А данные текущей версии блока (из датафайла) нарушают консистентность на моменнт старта транзакции. Не вижу ссылку на афффторитетный источник [/quot] А Вы принципиально не читаете, что мы тут Вам с Yo пишем? (С) Gluk (Kazan) )) http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=839325&msg=10466936 )) Читать нужно ссылку до полного просветления , там все описано . зы Вы мне напоминаете одного известного местного клоуна ( Жерика ) )) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2011, 10:21 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
interestingGluk (Kazan)interestingРезонность ошибки в том , что консистентный блок ( для Serializable ) уже находится в ундо. А данные текущей версии блока (из датафайла) нарушают консистентность на моменнт старта транзакции. Не вижу ссылку на афффторитетный источник А Вы принципиально не читаете, что мы тут Вам с Yo пишем? (С) Gluk (Kazan) )) http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=839325&msg=10466936 )) Читать нужно ссылку до полного просветления , там все описано . зы Вы мне напоминаете одного известного местного клоуна ( Жерика ) )) Ай яй яй. То есть ты тупо пересказал, то что написано по ссылке которую дал Yo и выдал за свое не сославшись на первоисточник ? Нихарашо ;o) И ты знаешь, мне фиолетово кого я там кому напоминаю :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2011, 12:51 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
interestingРезонность ошибки в том , что консистентный блок ( для Serializable ) уже находится в ундо. А данные текущей версии блока (из датафайла) нарушают консистентность на моменнт старта транзакции.Как смачно феерический бред подан под интеллектоподобным соусом ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2011, 13:16 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Gluk (Kazan) Ай яй яй. То есть ты тупо пересказал, то что написано по ссылке которую дал Yo и выдал за свое не сославшись на первоисточник ? Нихарашо ;o) Изначально вопрос стоял так : авторМне ? Спасибо :) Давайте разберемся , на каких уровнях изоляции транзакция в оракл может использовать версии :) На всех прочих соотвественно не может . Потом прозвучал ответ : Gluk (Kazan) Oracle на всех своих уровнях изоляции не может не использловать СВОЮ версионность :) Потом Yo! привел ссылку : Yo!чукча совсем писатель ? начни с базового http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/consist.htm#i13945 Потом некий чукча совсем писательНеа, это намек на то что Oracle во всех случаях UNDO использует, но на разные моменты (старт запроса или транзакции) Потом некий воинственный неуч А Вы принципиально не читаете, что мы тут Вам с Yo пишем? А сам то читал ? Потом мы с -2- попытались намекнуть почитать всетаки документ interestingGluk (Kazan)пропущено... Ну в общем-то резонная ошибка Конечно, еще-бы :) )))) Потому что она бросается в глаза даже при беглом пролистывании скролом. Потом некий воинственный неучСобственно ты прав :) Мне это не интересно Я то тут причем , я не нанимался для неинтересующихся воинствующих неучей оверквотить первоисточники. Ответ прозвучал не тебе . Первоисточник был приведен ранее. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2011, 13:20 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Эталон ЭтаноловичinterestingРезонность ошибки в том , что консистентный блок ( для Serializable ) уже находится в ундо. А данные текущей версии блока (из датафайла) нарушают консистентность на моменнт старта транзакции.Как смачно феерический бред подан под интеллектоподобным соусом Хороший вброс , по существу есть что сказать ? :) Как насчет более точный диагноз поставить ? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2011, 13:25 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
2interesting на самом деле началось от сюда interestingScareCrowпропущено... никак. В Оракле когда что то читается, движок восстанавливает их состояние (грубо говоря) на момент старта транзакции запроса. fixed ps Я был бы счаслив , если бы вы были правы , но увы :) http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=839325&msg=10454077 там тебе справедливо и указали, что зависит от IL, но ты полез в бутылку насмешив всех нас своими цирковыми представлениями ... поверь, пора цирк закончить и почитать что тебе пишут. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2011, 13:41 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
interestingПервоисточник был приведен ранее. Ой, ну чего ты оправдываешься ? Не корми меня ... больше :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2011, 13:48 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
Yo.!2interesting на самом деле началось от сюда interestingпропущено... fixed ps Я был бы счаслив , если бы вы были правы , но увы :) http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=839325&msg=10454077 там тебе справедливо и указали, что зависит от IL, но ты полез в бутылку насмешив всех нас своими цирковыми представлениями ... поверь, пора цирк закончить и почитать что тебе пишут. В формулировке аффтара от IL не зависит , потому что автордвижок восстанавливает их состояние (грубо говоря) на момент старта Слово восстанавливает указывает на вполне конкретный уровень изолированности на основании документа приведенного вами. Закончить , так закончить :) зы Спасибо , что тоже повеселили. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2011, 13:48 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
interestingВ формулировке аффтара от IL не зависит , потому что Судя по профилю, "аффтар" не из лагеря оракловодов, ей простительно не знать некоторые тонкости ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2011, 13:51 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
да перестаньте вы кормить тролля. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2011, 12:56 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
ScareCrowда перестаньте вы кормить тролля. Думаю это общественно полезное кормление 1. Есть лулзы. 2. Дает повод задуматься и перечитать доку. вот представьте на собеседовании задется вопрос типа : авторна каких уровнях изоляции транзакция в оракл может использовать версии На всех прочих соотвественно не может . И делается вывод , что претендент концептов не читал :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2011, 13:36 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
что-то я не врубаюсь, как последние 3 страницы этого топика могут вернуть в русло основного вопроса - может-ли Оракл использовать индексы в запросах БЕЗ обращения к данным? Типа select count(field) from table, хотя бы. Развели, понимаешь, интеллектуальное фехтование... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2011, 03:58 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
kdvчто-то я не врубаюсь, как последние 3 страницы этого топика могут вернуть в русло основного вопроса - может-ли Оракл использовать индексы в запросах БЕЗ обращения к данным? Типа select count(field) from table, хотя бы. Развели, понимаешь, интеллектуальное фехтование... Говорят что могут. А так же могут как в FB использовать одновременно несколько индексов при index scan. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2011, 15:39 |
|
Способы реализации индексов
|
|||
---|---|---|---|
#18+
авторТипа select count(field) from table, хотя бы. может. и даже skip scan у него есть, может пройти по индексу только по второму полю например. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2011, 17:03 |
|
|
start [/forum/topic.php?all=1&fid=35&tid=1552702]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
150ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 238ms |
0 / 0 |