Index covering

asviridenkov
Дата: 19.07.2012 00:27:11
Да, знаю, нет версий в индексах и все такое
Но
Такая идея
В реальной жизни, довольна большая часть запросов покрывается условиями
Транзакция read commited и у таблицы нет незакоммиченных записей
или
Транзакция snapshot и таблица не менялась с момента старта
Ведь владеет же сервер информацией о изменениях таблицы?
Если в таких ситуациях будет использоваться index covering, это уже может здорово поднять производительность

Ну, и чтоб два раза не вставать, Д.Е. с ДР! Всех благ)
Гаджимурадов Рустам
Дата: 19.07.2012 00:36:15

asviridenkov
> В реальной жизни, довольна большая часть запросов покрывается условиями
> Транзакция read commited и у таблицы нет незакоммиченных записей
> или
> Транзакция snapshot и таблица не менялась с момента старта

Мне бы такую реальную жизнь... :)

> Если в таких ситуациях будет использоваться index covering,
> это уже может здорово поднять производительность

Вопрос/предложение где? Или просто поговорить? :)

Posted via ActualForum NNTP Server 1.5

Dimitry Sibiryakov
Дата: 19.07.2012 00:45:07

Гаджимурадов Рустам
Мне бы такую реальную жизнь... :)

Это тебе понадобятся суровые грибочки. Аффтар бредит.

Posted via ActualForum NNTP Server 1.5

kdv
Дата: 19.07.2012 00:52:14
asviridenkov
Ведь владеет же сервер информацией о изменениях таблицы?

нет, не владеет. если ты думаешь что владеет, то было бы интересно узнать, что ты имеешь в виду.
asviridenkov
Дата: 19.07.2012 01:02:28
>Мне бы такую реальную жизнь... :)

От дизайна зависит
Я стараюсь делать очень короткие пишущие транзакции

> Если в таких ситуациях будет использоваться index covering,
> это уже может здорово поднять производительность

Вопрос/предложение где? Или просто поговорить? :)

Вопрос в том, возможно ли в таких условиях использование index covering в FB
asviridenkov
Дата: 19.07.2012 01:04:59
kdv
asviridenkov
Ведь владеет же сервер информацией о изменениях таблицы?

нет, не владеет. если ты думаешь что владеет, то было бы интересно узнать, что ты имеешь в виду.


Я деталей реализации сервера не знаю, но мне казалось что в таблице как-то помечается факт наличия незакоммиченных изменений
И вообще отслеживается как и кем она использовалась. Выдаются же ошибки вида object in use
Dimitry Sibiryakov
Дата: 19.07.2012 01:11:57

asviridenkov
От дизайна зависит
Я стараюсь делать очень короткие пишущие транзакциих.

Запросы (а index covering возможен только для довольно редких запросов) не зависят от
длины транзакций.

asviridenkov
Вопрос в том, возможно ли в таких условиях использование index covering
в FB

Использование index covering в FB невозможно в любых условиях.

Posted via ActualForum NNTP Server 1.5

kdv
Дата: 19.07.2012 02:07:20
asviridenkov
Я деталей реализации сервера не знаю, но мне казалось что в таблице как-то помечается факт наличия незакоммиченных изменений
И вообще отслеживается как и кем она использовалась. Выдаются же ошибки вида object in use

во-первых, "детали реализации" не знать - это круто. есть же статья
http://www.ibase.ru/devinfo/mga.htm
во-вторых, object in use означает наличия обращений к таблице, т.е. структура таблицы загружена в кэш метаданных и используется какими-то запросами. К хранимым данным это (object) не имеет абсолютно никакого отношения.
в третьих, факт наличия незакоммиченых изменений никак не помечается. Вернее, есть savepoints, но они внутри конкретной транзакции. Другая транзакция о незакоммиченых изменениях может узнать только ПРОЧИТАВ эти самые незакоммиченые изменения (т.е. версии измененных записей). А признаком "незакоммичености" будет активное состояние транзакции, идентификатор которой записан в этих самых версиях.

Это же версионник, не блокировочник, никаких "локов записей" в памяти не держит. И по сейэвпойнтам транзакции друг у друга не определяют, кто что изменил, потому что в этом нет никакой необходимости.
Гаджимурадов Рустам
Дата: 19.07.2012 03:16:34

Dimitry Sibiryakov> Это тебе понадобятся суровые грибочки. Аффтар бредит.

Суровые это да, согласен. Но не во всём бред, есть рид-онли БД/таблицы.

Posted via ActualForum NNTP Server 1.5

Гаджимурадов Рустам
Дата: 19.07.2012 03:18:28

asviridenkov> От дизайна зависит
> Я стараюсь делать очень короткие пишущие транзакции

От дизайна не зависит. Вернее, дизайн не может сделать лучше, хуже - может, да.
И короткие пишущие тут как раз не в кассу, а ровно наоборот, только снижают шансы.

> Вопрос в том, возможно ли в таких условиях использование index covering в FB

В FB - нет. В таких условиях (каких-то фантастических) - тем более нет.

Posted via ActualForum NNTP Server 1.5