powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Способы реализации индексов
150 сообщений из 150, показаны все 6 страниц
Способы реализации индексов
    #37186937
При поиске/сканировании по индексу в MS SQL данные всегда берутся из индексов, в Firebird индекс содержит ссылку на запись и данные берутся из таблицы.
Какие плюсы и минусы у различных способов индексирования и как это реализовано в других СУБД?
Вопрос чисто теоретический, надеюсь того кто знает не затруднит просветить в этом плане.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37187111
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Индекс СпособовичПри поиске/сканировании по индексу в MS SQL данные всегда берутся из индексовЯ хоть MS SQL и не знаю, но готов поспорить, что это неверно.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37187160
kDnZP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftИндекс СпособовичПри поиске/сканировании по индексу в MS SQL данные всегда берутся из индексовЯ хоть MS SQL и не знаю, но готов поспорить, что это неверно.
Всегда - не верное утверждение, с чего ТС так решил не ясно. Для некластерных индексов обычно вернее даже обратное (если не брать include).
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37187468
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Индекс СпособовичКакие плюсы и минусы у различных способов индексирования и как это реализовано в других СУБД?

Плюс и минус тут тупо один: скорость работы. Разные индексы работают лучше остальных в
разных ситуациях. Поэтому в "других СУБД" есть туева хуча типов индексов и огромные тома
документации в которых подробно расписывается в каких случаях какие типы лучше использовать.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37188577
kDnZPmiksoftпропущено...
Я хоть MS SQL и не знаю, но готов поспорить, что это неверно.
Всегда - не верное утверждение, с чего ТС так решил не ясно. Для некластерных индексов обычно вернее даже обратное (если не брать include).
Да уточню, не всегда, при Index Seek через Key Lookup будет брать из кластерного/таблицы.
При Index Scan всегда, либо вообще не будет использовать индекс.

Dimitry SibiryakovИндекс СпособовичКакие плюсы и минусы у различных способов индексирования и как это реализовано в других СУБД?

Плюс и минус тут тупо один: скорость работы. Разные индексы работают лучше остальных в
разных ситуациях. Поэтому в "других СУБД" есть туева хуча типов индексов и огромные тома
документации в которых подробно расписывается в каких случаях какие типы лучше использовать.

Это понятно, интересует чуть больше деталей.
Интересует обычный B-tree индекс и именно варианты его реализации в различных СУБД.
Расскажите хотя бы в первом приближении. Или киньте ссылкой на материал именно по этой теме.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37188623
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Индекс СпособовичИнтересует обычный B-tree индекс и именно варианты его реализации в различных СУБД.

Варианты не в реализации, а в том, что именно в индексе хранится. У IB/FB в индексе
хранится фактически хэш данных и именно поэтому она всегда лезет за реальными данными в
таблицу. Зато поиск по индексу сводится к быстрому сравнению бинарных данных. Это
оптимально когда выбирается малое число записей из многих.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37188993
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 29.03.2011 10:54, miksoft wrote:

> При поиске/сканировании по индексу в MS SQL данные *всегда* берутся из индексов
>
> Я хоть MS SQL и не знаю, но готов поспорить, что это неверно.

Таки неверно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37189000
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 29.03.2011 4:25, Индекс Способович wrote:

> При поиске/сканировании по индексу в MS SQL данные всегда берутся из индексов, в
> Firebird индекс содержит ссылку на запись и данные берутся из таблицы.

Это утверждение неверно.

> Какие плюсы и минусы у различных способов индексирования и как это реализовано в
> других СУБД?

Основной способ индексирования во всех субд -- B+tree.
Все остальные виды индексов в общем-то достаточно экзотичны и малоприменимы в
общей практике, и призваны лечить какие-то экзотические тупые запросы.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37189072
MasterZivOn 29.03.2011 4:25, Индекс Способович wrote:

> При поиске/сканировании по индексу в MS SQL данные всегда берутся из индексов, в
> Firebird индекс содержит ссылку на запись и данные берутся из таблицы.

Это утверждение неверно.

> Какие плюсы и минусы у различных способов индексирования и как это реализовано в
> других СУБД?

Основной способ индексирования во всех субд -- B+tree.
Все остальные виды индексов в общем-то достаточно экзотичны и малоприменимы в
общей практике, и призваны лечить какие-то экзотические тупые запросы.

Прочитайте пожалуйста внимательно мое второе сообщение в теме.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37189102
Dimitry SibiryakovИндекс СпособовичИнтересует обычный B-tree индекс и именно варианты его реализации в различных СУБД.

Варианты не в реализации, а в том, что именно в индексе хранится. У IB/FB в индексе
хранится фактически хэш данных и именно поэтому она всегда лезет за реальными данными в
таблицу. Зато поиск по индексу сводится к быстрому сравнению бинарных данных. Это
оптимально когда выбирается малое число записей из многих.

Имеется ввиду, что индекс представляет собой b-дерево с неполными данными?
Потому как хэш-данных храниться в хэш-индексах, которые не имеют информации о порядке и отсутствуют в IB/FB.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37189121
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Индекс СпособовичИмеется ввиду, что индекс представляет собой b-дерево с неполными данными?
Потому как хэш-данных храниться в хэш-индексах, которые не имеют информации о порядке и
отсутствуют в IB/FB.

А что такое неполные данные? И почему это хэш-индексы не имеют информации о порядке?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37189127
Dimitry SibiryakovИндекс СпособовичИмеется ввиду, что индекс представляет собой b-дерево с неполными данными?
Потому как хэш-данных храниться в хэш-индексах, которые не имеют информации о порядке и
отсутствуют в IB/FB.

А что такое неполные данные? И почему это хэш-индексы не имеют информации о порядке?

1. Меньше чем исходные данные.
2. По определению.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37189132
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Индекс Способович1. Меньше чем исходные данные.
2. По определению.
А тебе никогда не приходило в голову, что в качестве хэш-функции можно выбрать, например,
toupper() и тем самым получить case-insensitive индекс? При этом оба твоих пункта плачут и
идут лесом. Хэши, знаешь ли, не ограничиваются криптографическими...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37189159
Dimitry SibiryakovИндекс Способович1. Меньше чем исходные данные.
2. По определению.
А тебе никогда не приходило в голову, что в качестве хэш-функции можно выбрать, например,
toupper() и тем самым получить case-insensitive индекс? При этом оба твоих пункта плачут и
идут лесом. Хэши, знаешь ли, не ограничиваются криптографическими...

Если бы определением хэш-функции было - любая функция, вы были бы правы.
Но у хэш-функции есть определение и то что вы приводите никак туда не подходит.
Собственно как и case-insensitive индекс не подходит под определение хэш-индекса.
Но если вы настаиваете, ладно вы правы.

Лучше давайте вернемся к теме. К чему вы сказали про хэш данных в индексе?
Dimitry SibiryakovВарианты не в реализации, а в том, что именно в индексе хранится. У IB/FB в индексе
хранится фактически хэш данных и именно поэтому она всегда лезет за реальными данными в
таблицу.

Я так понимаю из индекса данные не берутся исключительно из-за отсутствия в них информации об актуальности данных (информации о версиях)?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37189175
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) позволяет получить тот самый
индекс, сохраняющий информацию о порядке.

И данные из индекса не берутся не только из-за отсутствия информации об их актуальности,
но и потому, что данных там, собственно, нет. Применяемая для получения индексного ключа
функция в общем случае необратима, что как раз свойственно хэш-функциям.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37189217
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 с этим дело обстоит, там данные берутся из индекса?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37189301
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Индекс СпособовичКстати, а как в Oracle с этим дело обстоит, там данные берутся из индекса?
в B+Tree индексе данных нет. Есть только ссылки на данные, о чем и говорит DS.
MS SQL (как и любой другой блокировочный сервер, и если в MS SQL не включать версионность) может использовать только индекс (без данных) по столбцу field например для count(field), потому что число ключей всегда соответствует числу записей. То же самое - если и поиск и выборка идет только одного индексного столбца, тут в данные лазить без надобности.

У ФБ по причине версионности это не так. Например, у трех версий одной записи может быть 2 ключа. Т.е. количество ключей может быть больше чем количество записей, но не меньше чем количество версий. И, в ключах индексов ФБ не хранится информация о транзакции. Таким образом, без чтения версии и определения ее видимости нельзя посчитать count по столбцу.
Dmitry Sibiryakov косвенно намекает на общее сходство обычных индексов ФБ с индексами по выражению, которые уж точно самих данных не содержат, хотя выражение может быть A+0, т.е. даже не меняющее значения столбца.

При всем при этом индексы ФБ - достаточно обычные B+деревья, с некоторой спецификой, правда, куда входит как минимум префиксная компрессия и однонаправленность скана ключей.

Данные в индексах - это как раз кластерные индексы, или, грубо говоря, таблица, отсортированная по "индексному" столбцу. Коллеги вполне могут меня поправить, я глубоко устройством кластерных индексов не интересовался.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37189331
Sk1N.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,
kdv...
Например, у трех версий одной записи может быть 2 ключа . Т.е. количество ключей может быть больше чем количество записей, но не меньше чем количество версий .
...

Сначала ключей меньше чем версий, потом обратное: ключей не может быть меньше чем версий. Где описка? :)
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37189365
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvУ ФБ по причине версионности ... в B+Tree индексе данных нет.

Я правильно понимаю, что в ФБ хранение в индексе хэша, а не данных Вы объясняете версионностью?

Dimitry SibiryakovУ IB/FB в индексе хранится фактически хэш данных и именно поэтому она всегда лезет за реальными данными в таблицу. Зато поиск по индексу сводится к быстрому сравнению бинарных данных. Это
оптимально когда выбирается малое число записей из многих.

Я правильно понимаю, что такие понятия как covered indexes и indexes with included columns (которые позволяют снизить издержки на IO и "экономить" буфферный кэш) в IB/FB отсутвуют как класс?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37189560
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sk1N.Сначала ключей меньше чем версий, потом обратное: ключей не может быть меньше чем версий. Где описка? :)
ошибка во второй части.
количество записей <= количество ключей <= количество записей+версий

pkarklinЯ правильно понимаю, что в ФБ хранение в индексе хэша, а не данных Вы объясняете версионностью?
нет. И про "хэш в индексе" Сибиряков уже объяснил, что ОН имел в виду. Хранятся, конечно, данные, только из-за отсутствия в ключе информации о транзакции невозможно определить видимость ключа без определения видимости записи.

Целесообразность введения в ключ номера транзакции обсуждали, но насколько я помню, признали нецелесообразным - оверхед увеличения размера ключа больше чем польза от трюков "считал индекс, данные можно не читать".
Например, в индексе не хранится сотня одинаковых ключей А - хранится 1 ключ А и отсортированная цепочка номеров записей, имеющих такой ключ.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37189695
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 29.03.2011 19:08, Индекс Способович wrote:

> Это понятно, интересует чуть больше деталей.
> Интересует обычный B-tree индекс и именно варианты его реализации в различных СУБД.
> Расскажите хотя бы в первом приближении. Или киньте ссылкой на материал именно
> по этой теме.

Там мало что можно придумать.
Обычно делают префиксное сжатие ключа (как правило все ключи на странице
начинаются с какого-то одного префикса, его не хранят, хранят только
различающиеся суффиксы), иногда делают сжатие ключей (но это идиотизм воообще),
и 2 самых дежурных темы --

-- как и когда заполнять и расщеплять страницы
-- в виде чего хранить ссылки на записи в таблице.

Это уже собственно к индексам мало относится, больше к архитектуре СУБД.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37189759
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvDmitry Sibiryakov косвенно намекает на общее сходство обычных индексов ФБ с
индексами по выражению, которые уж точно самих данных не содержат, хотя выражение может
быть A+0, т.е. даже не меняющее значения столбца.
Да я, собственно, не намекаю, а прямо об этом говорю. Данные на пути в индекс всегда
проходят преобразование в ключ. И функция этого преобразования - чёрный ящик. Даже если
она обратима, никто об этом не знает, поэтому весь движок построен на предположении, что
это преобразование необратимо.

pkarklinЯ правильно понимаю, что такие понятия как covered indexes и indexes with included columns
(которые позволяют снизить издержки на IO и "экономить" буфферный кэш) в IB/FB отсутвуют
как класс?

Именно так. За счёт этого нет проблем с регистро- и акценто-нечувствительностью при
индексном доступе.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37189933
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovИменно так. За счёт этого нет проблем с регистро- и акценто-нечувствительностью при
индексном доступе.


О каких проблемах идет речь? Например, регистро- и акценто-нечувствительность\нечуствительность в MS SQL может быть задана вплоть до уровня отдельного поля в таблице.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37189959
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Индекс Способович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 красных линий
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37189975
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в оракле тоже непокрывающие чтоли? аки в фб?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37190020
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinНапример, регистро- и акценто-нечувствительность\нечуствительность в MS SQL может быть
задана вплоть до уровня отдельного поля в таблице.

И как идёт регистронечувствительный поиск по покрывающему индексу? Каждая строка из
индекса приводится в верхний/нижний регистр перед сравнением с образцом?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37190112
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovИ как идёт регистронечувствительный поиск по покрывающему индексу? Каждая строка из
индекса приводится в верхний/нижний регистр перед сравнением с образцом?


Что за привычка отвечать вопросом на вопрос...

В следующем примере создано "нечуствительное поле" в чуствительной бд:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
CREATE TABLE dbo.T1(col1 varchar( 10 ) COLLATE Cyrillic_General_CI_AS)
GO

CREATE INDEX IX_T1_col1 ON dbo.T1(col1)
GO

INSERT dbo.T1 VALUES('ы')
GO

SET SHOWPLAN_TEXT ON
GO
SELECT * FROM dbo.T1 WHERE col1 = 'Ы'

SELECT * FROM dbo.T1 WHERE col1 = 'ы'
GO

SET SHOWPLAN_TEXT OFF

GO
DROP TABLE dbo.T1

Код: 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.
(1 row(s) affected)
StmtText
-----------------------------------------
SELECT * FROM dbo.T1 WHERE col1 = 'Ы'

(1 row(s) affected)

StmtText
-------------------------------------------------------------------------------------------------------------------------------------------------
  |--Index Seek(OBJECT:([test].[dbo].[T1].[IX_T1_col1]), SEEK:([test].[dbo].[T1].[col1]=CONVERT_IMPLICIT(varchar(8000),[@1],0)) ORDERED FORWARD)

(1 row(s) affected)

StmtText
-----------------------------------------

SELECT * FROM dbo.T1 WHERE col1 = 'ы'

(1 row(s) affected)

StmtText
-------------------------------------------------------------------------------------------------------------------------------------------------
  |--Index Seek(OBJECT:([test].[dbo].[T1].[IX_T1_col1]), SEEK:([test].[dbo].[T1].[col1]=CONVERT_IMPLICIT(varchar(8000),[@1],0)) ORDERED FORWARD)

(1 row(s) affected)

Т.е. неявно конвертиться не "строка индекса", а строковый литерал, который по дефолту имеет такой же коллэйшен, как и у бд.

Результат:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
(1 row(s) affected)
col1
----------
ы

(1 row(s) affected)

col1
----------
ы

(1 row(s) affected)

Сравните с:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
CREATE TABLE dbo.T1(col1 varchar( 10 ) COLLATE Cyrillic_General_CS_AS)
GO

CREATE INDEX IX_T1_col1 ON dbo.T1(col1)
GO

INSERT dbo.T1 VALUES('ы')
GO

SET SHOWPLAN_TEXT ON
GO
SELECT * FROM dbo.T1 WHERE col1 = 'Ы'

SELECT * FROM dbo.T1 WHERE col1 = 'ы'
GO

SET SHOWPLAN_TEXT OFF
GO
DROP TABLE dbo.T1

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
(1 row(s) affected)

StmtText
---------------------------------------------------------------------------------------------------------------
  |--Index Seek(OBJECT:([test].[dbo].[T1].[IX_T1_col1]), SEEK:([test].[dbo].[T1].[col1]=[@1]) ORDERED FORWARD)

(1 row(s) affected)

StmtText
-----------------------------------------

SELECT * FROM dbo.T1 WHERE col1 = 'ы'

(1 row(s) affected)

StmtText
---------------------------------------------------------------------------------------------------------------
  |--Index Seek(OBJECT:([test].[dbo].[T1].[IX_T1_col1]), SEEK:([test].[dbo].[T1].[col1]=[@1]) ORDERED FORWARD)

(1 row(s) affected)

Результат:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
(1 row(s) affected)
col1
----------

(0 row(s) affected)

col1
----------
ы

(1 row(s) affected)
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37190154
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan DurakА в оракле тоже непокрывающие чтоли? аки в фб?
нет. в Оракле версионность блоков, в ФБ версионность записей.
в блоке хранится номер версии, влазит меньше данных. но блок лежит ПОД индексами, и ни индексы ни данные про версии не знают.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37190180
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinТ.е. неявно конвертиться не "строка индекса", а строковый литерал

Для сравнения всегда нужны двое. Литерал ты проконвертил, отлично. С чем он теперь
сравнивается? Очевидно, что с неким ключом из индекса. Как сравнивается? Очевидно,
регистронечувствительно. Как такое сравнение вообще возможно? Сюрприз, но для этого оба
аргумента функции stricmp() принудительно приводятся к одному регистру, после чего
сравниваются двоично. Отсюда следует, что при поиске каждый ключ индекса преобразуется в
верхний регистр. И так при каждом поиске. А эта операция недешева. Хоть и дешевле
дискового В/В. Но при некотором (достаточно большом) количестве сравнений данный алгоритм
может проиграть тому, который в индексах хранит уже преобразованное значение и использует
только двоичное сравнение.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37190436
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Если было бы так, как написано, то никакого бы seek не было. Был бы scan.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37190451
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinЕсли было бы так, как написано, то никакого бы seek не было. Был бы scan.

Ну а как тогда оно происходит у MS в брюхе?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37191000
ScareCrowIvan DurakА в оракле тоже непокрывающие чтоли? аки в фб?
нет. в Оракле версионность блоков, в ФБ версионность записей.
в блоке хранится номер версии, влазит меньше данных. но блок лежит ПОД индексами, и ни индексы ни данные про версии не знают.
Т.е. так же в FB данные берутся не из индексов, а из блоков(в FB из записей). И также как в FB для индекс скана могут использоваться одновременно несколько индексов?

А в IOT оракловом что позволят брать данные из индекса?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37191009
Фотография Le Peace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Индекс СпособовичА в IOT оракловом что позволят брать данные из индекса?
То, что все данные находятся на листовом уровне индекса.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37191030
Le PeaceИндекс СпособовичА в IOT оракловом что позволят брать данные из индекса?
То, что все данные находятся на листовом уровне индекса.
И записи о версиях там же?
А поля по которым построен индекса дублируются в листовом уровне индекса или беруться непосредственно из индекса?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37191050
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).

Хэш-функция, которая удовлетворяет первым пяти свойствам, называется простой или слабой хэш-функцией. Если кроме того выполняется шестое свойство, то такая функция называется сильной хэш-функцией.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37191159
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторИ записи о версиях там же?
А поля по которым построен индекса дублируются в листовом уровне индекса или беруться непосредственно из индекса?
в Оракле записи о версиях хранятся уровнем ниже. в блоках. ни индексы ни данные про версии не знают.
IOT это та же самая таблица, только завязанная в двунаправленный сортированный список по ключевым полям.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37191163
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТ.е. так же в FB данные берутся не из индексов, а из блоков(в FB из записей).
в ФБ нельзя получить данные только из индекса, потому что прочитав индекс, ты не знаешь - видим ли элемент для твоей транзакции. в оракле ты это знаешь.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37191170
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37191335
MasterZiv
знаете что такое "вычислительно невозможно найти" )
И приведите своё правильное и четкое определение хэш-функции.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37191344
ScareCrowв Оракле записи о версиях хранятся уровнем ниже. в блоках. ни индексы ни данные про версии не знают .


ScareCrow в ФБ нельзя получить данные только из индекса, потому что прочитав индекс , ты не знаешь - видим ли элемент для твоей транзакции. в оракле ты это знаешь.

Что-то я совсем запутался. Как индексы не зная про версии знают видим ли элемент для твоей транзакции?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37191487
kdvSk1N.Сначала ключей меньше чем версий, потом обратное: ключей не может быть меньше чем версий. Где описка? :)
ошибка во второй части.
количество записей <= количество ключей <= количество записей+версий

pkarklinЯ правильно понимаю, что в ФБ хранение в индексе хэша, а не данных Вы объясняете версионностью?
нет. И про "хэш в индексе" Сибиряков уже объяснил, что ОН имел в виду. Хранятся, конечно, данные , только из-за отсутствия в ключе информации о транзакции невозможно определить видимость ключа без определения видимости записи.

Т.е. именно данные хранятся в индексе?
А при Read Uncommited браться из индекса данные не смогут?
Учитывая что FB можно использовать как embedded.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37191490
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Индекс СпособовичА при Read Uncommited браться из индекса данные не смогут?

Не могут, поскольку во-первых, нет в FB Read Uncommitted. А во-вторых, то, что можно
достать из индекса это не то, что стоило бы показывать пользователю. Как я уже
неоднократно говорил, функция преобразования значения в ключ в общем случае необратима.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37191532
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Индекс СпособовичТ.е. именно данные хранятся в индексе?
А при 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, видимость конкретной версии для конкретной транзакции определяется только номером и состоянием транзакции, создавшей конкретную версию. В ключах индекса этой информации нет. Значит, хоть ключ и содержит данные, для определения видимости сервер должен считать конкретную версию, чтобы понять, какой транзацкции что можно видеть.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37191973
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 31.03.2011 0:06, Индекс Способович wrote:

> знаете что такое "вычислительно невозможно найти" )
Не, не знаю. Я знаю, что такое "можно найти" и знаю, что
такое "нельзя найти". А "вычислительно невозможно найти"
это очень похоже на "немножко беременна".

Это как в EMC люди откровенно считают, что хэш-функция
даёю уникальный код для своего аргумента.

> И приведите своё правильное и четкое определение хэш-функции.

Я что тут в преподаватели нанялся ?
Найди литературу, почитай. Хопкрофта книга была хорошая.
Ахо etc тоже.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37192071
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv> знаете что такое "вычислительно невозможно найти" )
Не, не знаю. Я знаю, что такое "можно найти" и знаю, что
такое "нельзя найти". А "вычислительно невозможно найти"
это очень похоже на "немножко беременна".
если на поиск потребуется миллиард лет - это "можно найти" или "нельзя найти"?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37192115
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 31.03.2011 13:21, SergSuper wrote:

> если на поиск потребуется миллиард лет - это "можно найти" или "нельзя найти"?

Это -- "можно найти". Нерешаемая задача и сложнорешаемая задача -- не одно и то же.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37192438
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivOn 31.03.2011 13:21, SergSuper wrote:

> если на поиск потребуется миллиард лет - это "можно найти" или "нельзя найти"?

Это -- "можно найти". Нерешаемая задача и сложнорешаемая задача -- не одно и то же.
т.е. никакой разницы нет между задачами которые, решаются считанным количеством тактов и и которые решаются годами?
"вычислительно невозможно найти" и подразумевает что найти можно только теоретически, перебором, для использования получения данных не предназначено
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37192855
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperMasterZivOn 31.03.2011 13:21, SergSuper wrote:

> если на поиск потребуется миллиард лет - это "можно найти" или "нельзя найти"?

Это -- "можно найти". Нерешаемая задача и сложнорешаемая задача -- не одно и то же.
т.е. никакой разницы нет между задачами которые, решаются считанным количеством тактов и и которые решаются годами?
"вычислительно невозможно найти" и подразумевает что найти можно только теоретически, перебором, для использования получения данных не предназначено
У "вычислительно невозможно найти" - граница меняется с каждым годом. Это нечеткое определение.

А ТС взял определение криптографического хэша и пытается присобачить его к СУБД. А тут никто не поймет,
зачем такие навороты в зоопарке БД.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37192918
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglУ "вычислительно невозможно найти" - граница меняется с каждым годом. Это нечеткое определение.Вы действительно понятие "сложность вычислений" не слышали, или прикидываетесь? Почитайте про классы сложности. Все очень строго определено. Граница никуда не меняется и никак от быстродействия современных компьютеров не зависит. А вот от достижений математической мысли зависеть может :)
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37193006
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov Andrey,

В Вике все доступно объяснено на трех пальцах.
Но ТС наже в этом путается Индекс Способович3. Н(М) относительно легко (за полиномиальное время) вычисляется для любого значения М.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37193014
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторКак индексы не зная про версии знают видим ли элемент для твоей транзакции?
никак.
В Оракле когда что то читается, движок восстанавливает их состояние (грубо говоря) на момент старта транзакции.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37193266
interesting
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrowавторКак индексы не зная про версии знают видим ли элемент для твоей транзакции?
никак.
В Оракле когда что то читается, движок восстанавливает их состояние (грубо говоря) на момент старта транзакции запроса.

fixed

ps Я был бы счаслив , если бы вы были правы , но увы :)
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37193298
MasterZivOn 31.03.2011 13:21, SergSuper wrote:

> если на поиск потребуется миллиард лет - это "можно найти" или "нельзя найти"?

Это -- "можно найти". Нерешаемая задача и сложнорешаемая задача -- не одно и то же.

Не, не знаю. Я знаю, что такое "можно найти" и знаю, что
такое "нельзя найти". А "сложнорешаемая задача"
это очень похоже на "немножко беременна".
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37193306
SiemarglBogdanov Andrey,

В Вике все доступно объяснено на трех пальцах.
Но ТС наже в этом путается Индекс Способович3. Н(М) относительно легко (за полиномиальное время) вычисляется для любого значения М.
Чушь.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37193308
ScareCrowавторКак индексы не зная про версии знают видим ли элемент для твоей транзакции?
никак.
В Оракле когда что то читается, движок восстанавливает их состояние (грубо говоря) на момент старта транзакции.
Ок. Т.е. в Оракле можно читать данные из индекса. А можно использовать одновременно несколько индексов для index scan или index seek?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37193459
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
совершенно беспонятия. склоняюсь что нет.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37193464
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowсклоняюсь что нет.
Это ты только что заявил, что Оракул так убог, что в нём нет Рашмора... Съядят, как есть
съядят...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37193661
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
interestingScareCrowпропущено...

никак.
В Оракле когда что то читается, движок восстанавливает их состояние (грубо говоря) на момент старта транзакции запроса.

fixed

ps Я был бы счаслив , если бы вы были правы , но увы :)

Зависит от уровня изоляции ващета :) увы Вам
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37193951
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan), в PostgreSQL снапшот создаётся при первом запросе в транзакции, а не при BEGIN. Возможно в Oracle так же.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37193998
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЁшGluk (Kazan), в PostgreSQL снапшот создаётся при первом запросе в транзакции, а не при BEGIN. Возможно в Oracle так же.
почитай чем отличается RC от Serializable в оракле. поймешь о чем он.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194392
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!ЁшGluk (Kazan), в PostgreSQL снапшот создаётся при первом запросе в транзакции, а не при BEGIN. Возможно в Oracle так же.
почитай чем отличается RC от Serializable в оракле. поймешь о чем он.

Спасибо, Друг :)
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194519
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
create table t (d timestamp);

( 1 ) begin transaction isolation level serializable;
    ( 2 ) begin;
    ( 2 ) select now();
                      now              
        -------------------------------
          2011 - 04 - 01   15 : 20 : 21 . 965431 + 04 
    ( 2 ) insert into t values (now());
    ( 2 ) end;
( 1 ) select * from t;
                 d              
    ----------------------------
      2011 - 04 - 01   15 : 20 : 21 . 965431 
( 1 ) end;
?

Так мне будет понятней :)
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194587
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЁшYo.!пропущено...

почитай чем отличается RC от Serializable в оракле. поймешь о чем он.Это слишком сложно для меня. Если Вам не трудно, Вы лучше просто покажите, что Oracle выведет в этом примере:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
create table t (d timestamp);

( 1 ) begin transaction isolation level serializable;
    ( 2 ) begin;
    ( 2 ) select now();
                      now              
        -------------------------------
          2011 - 04 - 01   15 : 20 : 21 . 965431 + 04 
    ( 2 ) insert into t values (now());
    ( 2 ) end;
( 1 ) select * from t;
                 d              
    ----------------------------
      2011 - 04 - 01   15 : 20 : 21 . 965431 
( 1 ) end;
?

Так мне будет понятней :)

Ошибку. Oracle не знает что такое now()
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194607
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Ошибку. Oracle не знает что такое now()Если Вам не трудно, исправьте пожалуйста now() на аналогичную функцию, которую знает Oracle и покажите пожалуйста результат исправленного примера. now() — это функция которая возвращает точно время начала транзакции с микросекундами.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194633
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЁшGluk (Kazan)Ошибку. Oracle не знает что такое now()Если Вам не трудно, исправьте пожалуйста now() на аналогичную функцию, которую знает Oracle и покажите пожалуйста результат исправленного примера. now() — это функция которая возвращает точно время начала транзакции с микросекундами.

Если Вам не трудно, почитайте про уровни изоляции в Oracle.
Благо есть где ... как грязи
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194635
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёш, CURRENT_TIMESTAMP вроде везде есть
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194651
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Ёшпропущено...
Если Вам не трудно, исправьте пожалуйста now() на аналогичную функцию, которую знает Oracle и покажите пожалуйста результат исправленного примера. now() — это функция которая возвращает точно время начала транзакции с микросекундами.

Если Вам не трудно, почитайте про уровни изоляции в Oracle.Мне это сделать трудно. Я не хочу читать 10 страниц текста только чтобы попытать представить, причём возможно с ошибкой, результат этого простого примера.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194657
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЁшGluk (Kazan)пропущено...


Если Вам не трудно, почитайте про уровни изоляции в Oracle.Мне это сделать трудно. Я не хочу читать 10 страниц текста только чтобы попытать представить, причём возможно с ошибкой, результат этого простого примера.

А я не хочу переводить Ваш (простой) пример на Oracle
1:1 ?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194662
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan), замени now() на CURRENT_TIMESTAMP
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194663
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Ёшпропущено...
Мне это сделать трудно. Я не хочу читать 10 страниц текста только чтобы попытать представить, причём возможно с ошибкой, результат этого простого примера.

А я не хочу переводить Ваш (простой) пример на Oracle
1:1 ?Ок :)
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194677
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕНЁш, CURRENT_TIMESTAMP вроде везде естьТолько возвращает он текущее время, а назвать время начала транзакции now могли только враги новичков.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194727
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕНGluk (Kazan), замени now() на CURRENT_TIMESTAMP

Все равно не будет работать :)
Сказать почему или документацию почитаете?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194760
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan), В postgresql CURRENT_TIMESTAMP = now()
И возвращает время начала текущей транзакции.
Чтобы узнать текущее время используется clock_timestamp()
В oracle есть функция, которая возвращает время начала текущей транзакции?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194782
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)ОКТОГЕНGluk (Kazan), замени now() на CURRENT_TIMESTAMP

Все равно не будет работать :)
Сказать почему или документацию почитаете?
Скажите, будьте добры, а то дока http://download.oracle.com/docs/cd/B28359_01/olap.111/b28126/dml_functions_1054.htm
говорит о том же.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194792
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН, на самом деле я затупил, зачем вообще в примере время? Можно же просто единичку допустим вставлять в таблицу, смысл не поменяется :)
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194812
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёш, я тоже.
Всё что коммитится - становится видным в другой транзакции.
В пж по крайней мере.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194815
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan), скажите нам в оракле такое же поведение, и если нет,
то в чём отличие?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194840
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН,

Прочтите уже хоть википедию про уровни изоляции, не имеющие прямого отношения к этой теме. В оракле, с небольшими вариациями интерпретации, поддерживаемые уровни - READ COMMITED и SERIALIZABLE.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194852
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕНЁш, я тоже.
Всё что коммитится - становится видным в другой транзакции.
В пж по крайней мере.Это если по умолчанию, при read committed, при serializable pg делает снапшот при первом запросе в транзакции и больше его не «двигает» при следующих запросах, так что в примере в первой транзакции всегда будет возвращаться одна строка, даже если её удалить и закомитить удаление в параллельной транзакции :)

Я спросил в разделе по Oracle, там пишут что Oracle не увидит изменения после begin, так что он видимо «делает снапшот» сразу при begin, а не ждёт первого запроса как pg.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194879
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёш, а получится закоммитить другую транзакцию? Блокировок разве не будет?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194890
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЁшОКТОГЕНЁш, я тоже.
Всё что коммитится - становится видным в другой транзакции.
В пж по крайней мере.Это если по умолчанию, при read committed, при serializable pg делает снапшот при первом запросе в транзакции и больше его не «двигает» при следующих запросах, так что в примере в первой транзакции всегда будет возвращаться одна строка, даже если её удалить и закомитить удаление в параллельной транзакции :)

Я спросил в разделе по Oracle, там пишут что Oracle не увидит изменения после begin, так что он видимо «делает снапшот» сразу при begin, а не ждёт первого запроса как pg.

У Oracle нет begin :) (Вернее есть, но к транзакциям он отношения не имеет)
И select без from не канает (и без into в анонимном блоке тоже)
и много других "мелких" отличий :)

Скушно все это, пока
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194914
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕНЁш, а получится закоммитить другую транзакцию? Блокировок разве не будет?получится, версионник же, select не блокирует delete :)
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194920
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёшверсионник же, select не блокирует delete :)

Ещё бы в нём insert не блокировал delete, так был бы версионник...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194947
Раз уж тут специалисты по PG есть, как обстоят в нем дела индексированием.
1. Данные могут браться из индекса (версионный/блокировочный режим)?
2. При index seek и index scan могут использоваться несколько индексов?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37194992
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Индекс СпособовичРаз уж тут специалисты по PG есть, как обстоят в нем дела индексированием.
1. Данные могут браться из индекса (версионный/блокировочный режим)?Нет, есть в TODO, но такая возможность пока не реализована. Блокировочного режима нет.
Индекс Способович2. При index seek и index scan могут использоваться несколько индексов?Да. http://www.postgresql.org/docs/current/static/indexes-bitmap-scans.html
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37195013
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЁшверсионник же, select не блокирует delete :)

Ещё бы в нём insert не блокировал delete, так был бы версионник...
А разве блокирует?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37195035
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЁшА разве блокирует?
Elic утверждает что да:
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=837896&msg=10414051
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37195050
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЁшА разве блокирует?
Elic утверждает что да:
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=837896&msg=10414051
Так это Oracle, а я про postgres ОКТОГЕНу отвечал %)
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37195869
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowсовершенно беспонятия. склоняюсь что нет.
Можно: битмап индексы или битмап-конвершн обычных индексов. Индексы независимые, но используются совместно для поиска записей. Более того, в случае предиката по двум полям, по которым существуют два независимых битмап индекса и выборки значений только этих двух полей, к таблице обращения вообще не будет.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37196182
ApexScareCrowсовершенно беспонятия. склоняюсь что нет.
Можно: битмап индексы или битмап-конвершн обычных индексов. Индексы независимые, но используются совместно для поиска записей. Более того, в случае предиката по двум полям, по которым существуют два независимых битмап индекса и выборки значений только этих двух полей, к таблице обращения вообще не будет.
"битмап-конвершн" это как в Firebird построение битовых карт по индексам?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37196185
И уж до кучи, может тут есть специалисты по MySQL, а как там с этим дела обстоят?
1. Данные могут браться из индекса (версионный/блокировочный режим)?
2. При index seek и index scan могут использоваться несколько индексов?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37196453
или AND EQUAL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ApexМожно: битмап индексы или битмап-конвершн обычных индексов.или AND EQUAL
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37196989
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 03.04.2011 1:35, Индекс Способович wrote:

> И уж до кучи, может тут есть специалисты по MySQL, а как там с этим дела обстоят?

Для начала нам много engine, в каждом индексы и таблицы свои.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37196994
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 03.04.2011 1:35, Индекс Способович wrote:

> И уж до кучи, может тут есть специалисты по MySQL, а как там с этим дела обстоят?

> 1. Данные могут браться из индекса (версионный/блокировочный режим)?

Почему ты вообще думаешь, что данные НЕ могут когда-то браться из индекса ?
Могут. От версионности или блокировочности там ничего не зависит.

> 2. При index seek и index scan могут использоваться несколько индексов?

Нет, MySQL таких стратегий выполнения не имеет, на сколько я в курсе.
Возможно, где-то более 5.1 что=то есть.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197107
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторМогут. От версионности или блокировочности там ничего не зависит.
ага, щас. Скажите этО Firebird
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197198
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowавторМогут. От версионности или блокировочности там ничего не зависит.
ага, щас. Скажите этО Firebird

С этого места подробнее :) Как версионность влияет на возможность брать данные непосредственно из индексов, не обращаясь к таблицам?

Видимо я что-то пропустил в этой жизни :)
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197225
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Как версионность влияет на возможность брать данные непосредственно из индексов, не обращаясь к таблицам?
Видимо я что-то пропустил в этой жизни :)
Мы привыкли к версионности на уровне блоков, то есть к автоматической версионности любых объектов БД вплоть до секвенсоров, которым она мешает. В Интербейсе картина немного иная
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197241
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 04.04.2011 2:15, ScareCrow wrote:

> ага, щас. Скажите этО Firebird

"MySQL, а как там с этим дела обстоят?"

Маша ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197445
interesting
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)interesting
автор
Как индексы не зная про версии знают видим ли элемент для твоей транзакции?


ScareCrowпропущено...

никак.
В Оракле когда что то читается, движок восстанавливает их состояние (грубо говоря) на момент старта транзакции запроса.


fixed

ps Я был бы счаслив , если бы вы были правы , но увы :)

Зависит от уровня изоляции ващета :) увы Вам

Мне ? Спасибо :)

Давайте разберемся , на каких уровнях изоляции транзакция в оракл может использовать версии :)
На всех прочих соотвественно не может .

Вариантов не много , думаю для вас не составит труда их перечислить.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197539
interesting
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
interestingGluk (Kazan)пропущено...


Зависит от уровня изоляции ващета :) увы Вам

Мне ? Спасибо :)

Давайте разберемся , на каких уровнях изоляции транзакция в оракл может использовать версии
консистентное чтение .
На всех прочих соотвественно не может .

и почему именно так ( Hint: SQL standard)

Вариантов не много , думаю для вас не составит труда их перечислить ?

fixed ,
дабы вопрос был более понятен .
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197731
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
interestingДавайте разберемся , на каких уровнях изоляции транзакция в оракл может использовать версии
консистентное чтение .
На всех прочих соотвественно не может .

и почему именно так ( Hint: SQL standard)

Вариантов не много , думаю для вас не составит труда их перечислить ?
странный у вас вопрос. оракл всегда использует консистентное чтение, по другому он совсем не умеет. на уровне RC консистентное чтение будет обеспечено на момент старта запроса (там есть один нюанс, но не принципиальный), на Serializable на момент старта транзакции.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197766
interesting
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yo.!interestingДавайте разберемся , на каких уровнях изоляции транзакция в оракл может использовать версии
консистентное чтение .
На всех прочих соотвественно не может .

и почему именно так ( Hint: SQL standard)

Вариантов не много , думаю для вас не составит труда их перечислить ?
странный у вас вопрос. оракл всегда использует консистентное чтение, по другому он совсем не умеет. на уровне RC консистентное чтение будет обеспечено на момент старта запроса (там есть один нюанс, но не принципиальный), на Serializable на момент старта транзакции.

авторВ Оракле когда что то читается, движок восстанавливает их состояние (грубо говоря) на момент старта транзакции запроса.


Пожалуйста прокоментируйте выделенный текст , во форазе которую я исправил .
Помоему он однозначно намекает на конкретный уровень изоляции .

Или вы хотите сказать, что в Serializable оракл тоже что то

автордвижок восстанавливает их состояние (грубо говоря)


читать выделенное .

Подтвердите это ссылкой на незангажированный документ ( оракл доку или стандарт ).

зы ИМХО лучше сначала внимательно почитать , а потом говорить :)
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197786
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
interestingИли вы хотите сказать, что в Serializable оракл тоже...Кажется вы боязливо пытаетесь намекнуть на ошибку сериализации, которая не связана с обеспечением целостной записи, а не целостного чтения.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197787
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerGluk (Kazan)Как версионность влияет на возможность брать данные непосредственно из индексов, не обращаясь к таблицам?
Видимо я что-то пропустил в этой жизни :)
Мы привыкли к версионности на уровне блоков, то есть к автоматической версионности любых объектов БД вплоть до секвенсоров, которым она мешает. В Интербейсе картина немного иная

Как то не подумал об этом нюансе (зачем тут ушки (c) )
Значит у MS SQL с этим тоже могут быть проблемы?

Это уже недоверсионность какая-то
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197792
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
interestingGluk (Kazan)пропущено...


Зависит от уровня изоляции ващета :) увы Вам

Мне ? Спасибо :)

Давайте разберемся , на каких уровнях изоляции транзакция в оракл может использовать версии :)
На всех прочих соотвественно не может .

Вариантов не много , думаю для вас не составит труда их перечислить.

Oracle на всех своих уровнях изоляции не может не использловать СВОЮ версионность :)
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197810
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
interestingПожалуйста прокоментируйте выделенный текст , во форазе которую я исправил .
Помоему он однозначно намекает на конкретный уровень изоляции .

Или вы хотите сказать, что в Serializable оракл тоже что то

автордвижок восстанавливает их состояние (грубо говоря)


читать выделенное .

Подтвердите это ссылкой на незангажированный документ ( оракл доку или стандарт ).

зы ИМХО лучше сначала внимательно почитать , а потом говорить :)
чукча совсем писатель ? начни с базового
http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/consist.htm#i13945

на RC движок "восстанавливает" состояние блоков на момент старта запроса, на Serializable на момент старта всей транзакции. чего тут может быть не понятно ?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197814
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
interestingавторВ Оракле когда что то читается, движок восстанавливает их состояние (грубо говоря) на момент старта транзакции запроса.


зы ИМХО лучше сначала внимательно почитать , а потом говорить :)

А иногда крайне важно еще и внимательно писать. Транзакции запроса да?
Наводящий вопрос: а что если транзакция началась РАНЬШЕ запроса?

Подумать в чем (в этом случае) заключается разница между

Read Comitted (консистентная версия на момент начала запроса)
и Serializable или Read Only (консистентная версия на момент начала транзакции)

Сложно?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197816
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-interestingИли вы хотите сказать, что в Serializable оракл тоже...Кажется вы боязливо пытаетесь намекнуть на ошибку сериализации, которая не связана с обеспечением целостной записи, а не целостного чтения.

Вы намекаете на миниоткаты? ;)
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197849
interesting
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-2-interestingИли вы хотите сказать, что в Serializable оракл тоже...Кажется вы боязливо пытаетесь намекнуть на ошибку сериализации, которая не связана с обеспечением целостной записи, а не целостного чтения.

Serializable Транзакции ( по стандарту ) абсолютно всервно , что там не целостно ( чтение или запись).

Стандарт говорит, что Serializable транзакция должна в общем случае отвечать требованию
что она выполняется одна , либо она и все прочие конкурирующие транзакции выполняются последовательно.

Есть конкретная трактовка и СУБД стандарту либо удовлетворяет либо нет .

Если вы найдете конкретную цитату , противоречащую тому что я сказал ( вольному персказу стандарта в части Serializable
транзакции) , я посыплю голову пеплом.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197867
interesting
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)interestingпропущено...


Мне ? Спасибо :)

Давайте разберемся , на каких уровнях изоляции транзакция в оракл может использовать версии :)
На всех прочих соотвественно не может .

Вариантов не много , думаю для вас не составит труда их перечислить.

Oracle на всех своих уровнях изоляции не может не использловать СВОЮ версионность :)

Это такой мягкий слив , что бы не приводить
2 уровня изоляции , с описанием того на каком оракл использует ундо на на каком не использует ?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197870
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
interesting-2-пропущено...
Кажется вы боязливо пытаетесь намекнуть на ошибку сериализации, которая не связана с обеспечением целостной записи, а не целостного чтения.

Serializable Транзакции ( по стандарту ) абсолютно всервно , что там не целостно ( чтение или запись).

Стандарт говорит, что Serializable транзакция должна в общем случае отвечать требованию
что она выполняется одна , либо она и все прочие конкурирующие транзакции выполняются последовательно.

Есть конкретная трактовка и СУБД стандарту либо удовлетворяет либо нет .

Если вы найдете конкретную цитату , противоречащую тому что я сказал ( вольному персказу стандарта в части Serializable
транзакции) , я посыплю голову пеплом.

А кто сказал, что Oracle Serializable соответствует стандарту?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197894
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
interestingСтандарт говорит, что Serializable транзакция должна в общем случае отвечать требованию
что она выполняется одна , либо она и все прочие конкурирующие транзакции выполняются последовательно.

ты бы базовые вещи подучил прежде чем демонстрировать вселенскую глупость, в суровой реальность даже последняя редакция ANSI SQL ничего подобного не требует. там требуется эффект последовательного выполнения, но никак не выполнение.
Serializable в оракле же делался во времена когда в стандарте ANSI SQL Serializable описывался через феномены. после ANSI SQL 1992 описание через феномены вырезали, оставили только "эффект последовательного", но оракл уже метаться не стал, оставил как есть.
а блокировочный Serializable режим дурковатый, никогда не угадаешь чего начитаешь, в одном запросе можно получить записи которые оставила транзакция после до старта твоей serializable транзакции, но при этом не получить те что оставила транзакция стартанувшая до. вобщем полная чехорда, причем с гарантированным гемором в виде дедлоков.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197901
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)А кто сказал, что Oracle Serializable соответствует стандарту?
полностью соответствует стандарту ANSI SQL 1992
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197915
interesting
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)
А кто сказал, что Oracle Serializable соответствует стандарту?


Мне показалось ( крещусь ), что вы на это мягко и издевкой намекаете
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=839325&msg=10455185

:)
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197951
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
interestingGluk (Kazan)пропущено...


Oracle на всех своих уровнях изоляции не может не использловать СВОЮ версионность :)

Это такой мягкий слив , что бы не приводить
2 уровня изоляции , с описанием того на каком оракл использует ундо на на каком не использует ?

Неа, это намек на то что Oracle во всех случаях UNDO использует, но на разные моменты (старт запроса или транзакции)
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197952
interesting
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot Yo.!]interesting там требуется эффект последовательного выполнения, но никак не выполнение.


Вот и прокоментируйте этот эффект

в контексте

авторВ Оракле когда что то читается, движок восстанавливает их состояние (грубо говоря) на момент старта транзакции запроса.


Другими словами использует ли оракл данные из ундо в Serializable транзакции ?

2 Gluk (Kazan) хотелось бы ваше мнение ( коментарий) на этот счет тоже услышать.
Так как ваше сообщение стало источником спора.


зы Думаю сообщесту тоже будет интересно .
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197958
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
interestingGluk (Kazan)А кто сказал, что Oracle Serializable соответствует стандарту?


Мне показалось ( крещусь ), что вы на это мягко и издевкой намекаете
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=839325&msg=10455185

:)

И где там слово "стандарт"???
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197961
interesting
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)interestingпропущено...


Это такой мягкий слив , что бы не приводить
2 уровня изоляции , с описанием того на каком оракл использует ундо на на каком не использует ?

Неа, это намек на то что Oracle во всех случаях UNDO использует, но на разные моменты (старт запроса или транзакции)

Спасибо , ваша точка зрения понятна .

Осталось подтвердить это сслыкой на доку .
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197965
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
interesting2 Gluk (Kazan) хотелось бы ваше мнение ( коментарий) на этот счет тоже услышать.
Так как ваше сообщение стало источником спора.


А Вы принципиально не читаете, что мы тут Вам с Yo пишем?
Использует он UNDO, на уровне RC откатывает на момент начала запроса, на уровне Serializable на момент начала транзакции. Собсно, здесь мы расходимся с Yo в одном. Он считает, что Oracle Serializable соответвует стандарту, а мне этот вопрос не интересен :)
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197970
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
interestingGluk (Kazan)пропущено...


Неа, это намек на то что Oracle во всех случаях UNDO использует, но на разные моменты (старт запроса или транзакции)

Спасибо , ваша точка зрения понятна .

Осталось подтвердить это сслыкой на доку .

Сходи сам поищи :) я не нанимался
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197976
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197978
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Вы намекаете на миниоткаты? ;)На ORA-08177: can't serialize access for this transaction
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37197990
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-Gluk (Kazan)Вы намекаете на миниоткаты? ;)На ORA-08177: can't serialize access for this transaction

Ну в общем-то резонная ошибка
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37198044
interesting
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)-2-пропущено...
На ORA-08177: can't serialize access for this transaction

Ну в общем-то резонная ошибка

Конечно, еще-бы :)

))))
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37198064
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
interestingGluk (Kazan)пропущено...


Ну в общем-то резонная ошибка

Конечно, еще-бы :)

))))

А в чем юмор?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37198087
interesting
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)interestingпропущено...


Конечно, еще-бы :)

))))

А в чем юмор?

Тебе это не интересно :)

Gluk (Kazan)а мне этот вопрос не интересен :)


И я взаимно с тобой не нанимался .
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37198102
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
interestingGluk (Kazan)пропущено...


А в чем юмор?

Тебе это не интересно :)

Gluk (Kazan)а мне этот вопрос не интересен :)


И я взаимно с тобой не нанимался .

А ... это такая неумелая попытка заинтриговать ???
Слив засчитан :)
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37198126
interesting
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)interestingпропущено...


Тебе это не интересно :)

пропущено...


И я взаимно с тобой не нанимался .

А ... это такая неумелая попытка заинтриговать ???
Слив засчитан :)

Да это попытка заинтересовать :)

Известно, что пустозвонов сливателей тут полно, не присоединяйся к их числу.

В проф форуме вопрос задай , если что то не ясно .
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37198137
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
interestingGluk (Kazan)пропущено...


А ... это такая неумелая попытка заинтриговать ???
Слив засчитан :)

Да это попытка заинтересовать :)

Известно, что пустозвонов сливателей тут полно, не присоединяйся к их числу.

В проф форуме вопрос задай , если что то не ясно .

А ты меня не учи вопросы задавать :)

1. Ты спросил, я ответил.
2. Ты попросил ссылку в доку, я сказал недосуг (и заметь, я в своем праве)
3. Ты изобразил "попытку заинтересовать"
4. Я спросил ачоэта?
5. Ты слил
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37198139
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно ты прав :) Мне это не интересно
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37198324
interesting, расскажите хоть мне, что именно хотите сказать.
Или один говорит о начале старта запроса читающего данные, а другой о запросе изменившем эти данные?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37198493
interesting
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Индекс Способович ,

Gluk (Kazan)-2-пропущено...
На ORA-08177: can't serialize access for this transaction

Ну в общем-то резонная ошибка

Резонность ошибки в том , что консистентный блок ( для Serializable ) уже находится в ундо.
А данные текущей версии блока (из датафайла) нарушают консистентность на моменнт старта транзакции.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37198813
Gluk (Kazan)interestingпропущено...


fixed

ps Я был бы счаслив , если бы вы были правы , но увы :)

Зависит от уровня изоляции ващета :) увы Вам


Хорошая была поклевка :)

Жаль , что все так быстро закончилось .



зы У жерика уныло стало , прошу прощения за офтоп .
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37199301
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
interestingИндекс Способович ,

Gluk (Kazan)пропущено...


Ну в общем-то резонная ошибка

Резонность ошибки в том , что консистентный блок ( для Serializable ) уже находится в ундо.
А данные текущей версии блока (из датафайла) нарушают консистентность на моменнт старта транзакции.

Не вижу ссылку на афффторитетный источник
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37199303
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаР_тролеведХорошая была поклевка :)


Скууушна (c)
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37199546
interesting
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)
Резонность ошибки в том , что консистентный блок ( для Serializable ) уже находится в ундо.
А данные текущей версии блока (из датафайла) нарушают консистентность на моменнт старта транзакции.

Не вижу ссылку на афффторитетный источник [/quot]



А Вы принципиально не читаете, что мы тут Вам с Yo пишем? (С) Gluk (Kazan)

))

http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=839325&msg=10466936

))

Читать нужно ссылку до полного просветления , там все описано .


зы Вы мне напоминаете одного известного местного клоуна ( Жерика ) ))
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37199995
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
interestingGluk (Kazan)interestingРезонность ошибки в том , что консистентный блок ( для Serializable ) уже находится в ундо.
А данные текущей версии блока (из датафайла) нарушают консистентность на моменнт старта транзакции.

Не вижу ссылку на афффторитетный источник



А Вы принципиально не читаете, что мы тут Вам с Yo пишем? (С) Gluk (Kazan)

))

http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=839325&msg=10466936

))

Читать нужно ссылку до полного просветления , там все описано .


зы Вы мне напоминаете одного известного местного клоуна ( Жерика ) ))

Ай яй яй. То есть ты тупо пересказал, то что написано по ссылке которую дал Yo и выдал за свое не сославшись на первоисточник ? Нихарашо ;o)

И ты знаешь, мне фиолетово кого я там кому напоминаю :)
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37200083
Эталон Этанолович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
interestingРезонность ошибки в том , что консистентный блок ( для Serializable ) уже находится в ундо.
А данные текущей версии блока (из датафайла) нарушают консистентность на моменнт старта транзакции.Как смачно феерический бред подан под интеллектоподобным соусом
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37200100
interesting
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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)пропущено...


Ну в общем-то резонная ошибка

Конечно, еще-бы :)

))))
Потому что она бросается в глаза даже при беглом пролистывании скролом.

Потом

некий воинственный неучСобственно ты прав :) Мне это не интересно


Я то тут причем , я не нанимался для неинтересующихся воинствующих неучей оверквотить первоисточники.
Ответ прозвучал не тебе .
Первоисточник был приведен ранее.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37200115
interesting
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Эталон ЭтаноловичinterestingРезонность ошибки в том , что консистентный блок ( для Serializable ) уже находится в ундо.
А данные текущей версии блока (из датафайла) нарушают консистентность на моменнт старта транзакции.Как смачно феерический бред подан под интеллектоподобным соусом

Хороший вброс ,
по существу есть что сказать ? :)

Как насчет более точный диагноз поставить ?
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37200159
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2interesting

на самом деле началось от сюда
interestingScareCrowпропущено...

никак.
В Оракле когда что то читается, движок восстанавливает их состояние (грубо говоря) на момент старта транзакции запроса.

fixed

ps Я был бы счаслив , если бы вы были правы , но увы :)
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=839325&msg=10454077

там тебе справедливо и указали, что зависит от IL, но ты полез в бутылку насмешив всех нас своими цирковыми представлениями ...
поверь, пора цирк закончить и почитать что тебе пишут.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37200181
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
interestingПервоисточник был приведен ранее.

Ой, ну чего ты оправдываешься ?
Не корми меня ... больше :)
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37200182
interesting
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yo.!2interesting

на самом деле началось от сюда
interestingпропущено...


fixed

ps Я был бы счаслив , если бы вы были правы , но увы :)
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=839325&msg=10454077

там тебе справедливо и указали, что зависит от IL, но ты полез в бутылку насмешив всех нас своими цирковыми представлениями ...
поверь, пора цирк закончить и почитать что тебе пишут.

В формулировке аффтара от IL не зависит , потому что

автордвижок восстанавливает их состояние (грубо говоря) на момент старта


Слово восстанавливает указывает на вполне конкретный уровень изолированности
на основании документа приведенного вами.

Закончить , так закончить :)

зы Спасибо , что тоже повеселили.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37200198
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
interestingВ формулировке аффтара от IL не зависит , потому что


Судя по профилю, "аффтар" не из лагеря оракловодов, ей простительно не знать некоторые тонкости
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37202246
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да перестаньте вы кормить тролля.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37202384
ScareCrowда перестаньте вы кормить тролля.

Думаю это общественно полезное кормление
1. Есть лулзы.
2. Дает повод задуматься и перечитать доку.

вот представьте на собеседовании задется вопрос типа :

авторна каких уровнях изоляции транзакция в оракл может использовать версии
На всех прочих соотвественно не может .


И делается вывод , что претендент концептов не читал :)
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37207721
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то я не врубаюсь, как последние 3 страницы этого топика могут вернуть в русло основного вопроса - может-ли Оракл использовать индексы в запросах БЕЗ обращения к данным? Типа select count(field) from table, хотя бы.
Развели, понимаешь, интеллектуальное фехтование...
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37208030
kdvчто-то я не врубаюсь, как последние 3 страницы этого топика могут вернуть в русло основного вопроса - может-ли Оракл использовать индексы в запросах БЕЗ обращения к данным? Типа select count(field) from table, хотя бы.
Развели, понимаешь, интеллектуальное фехтование...
Говорят что могут.
А так же могут как в FB использовать одновременно несколько индексов при index scan.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37208101
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТипа select count(field) from table, хотя бы.
может. и даже skip scan у него есть, может пройти по индексу только по второму полю например.
...
Рейтинг: 0 / 0
Способы реализации индексов
    #37208371
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,

index fast full scan
...
Рейтинг: 0 / 0
150 сообщений из 150, показаны все 6 страниц
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Способы реализации индексов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]