Re: ИндексЫ
Привет! Подскажите можно сделать индекс не полю а например на основании udf, которая будет обрабатывать блоб? Можно сделать так что бы не все записи добавлялась в индекс? Ответ на вопрос зачем: например в таблице очень много записей и нужно искать только небольшое количество по специфичному индексу, если будет индекс построен по всей таблице, то он просто будет слишком большим и главное он такой совсем не нужен. Суть создания индекса как раз в уменьшении данных, с которыми приходится работать. Если у тебя индекс занимает столько же, сколько и сами данные - это плохой, негодный индекс ;-) Индексы по выражениям строить можно и очень часто они помогают. -- Best regards, Sergeymailto:gebele...@gmail.com
RE: ИндексЫ
Вы не поняли, повторю. Допустим есть в таблице 1 записей. Если я строю по ней индекс, то в индекс будут добавлены все записи из таблицы, т.е. все 1. Мне нужно поострить индекс в который будут добавлены, например только 7%, от общего количества записей. Просто остальные записи для поиска по этому индексу не нужны. Наличие не нужных записей в индексе очень заметно тормозит вставку новых записей в таблицу. -Original Message- From: ru-firebird@googlegroups.com [mailto:ru-firebird@googlegroups.com] On Behalf Of Sergey Mereutsa Sent: Monday, September 19, 2011 1:03 PM To: ru-firebird@googlegroups.com Subject: Re: ИндексЫ Привет! Подскажите можно сделать индекс не полю а например на основании udf, которая будет обрабатывать блоб? Можно сделать так что бы не все записи добавлялась в индекс? Ответ на вопрос зачем: например в таблице очень много записей и нужно искать только небольшое количество по специфичному индексу, если будет индекс построен по всей таблице, то он просто будет слишком большим и главное он такой совсем не нужен. Суть создания индекса как раз в уменьшении данных, с которыми приходится работать. Если у тебя индекс занимает столько же, сколько и сами данные - это плохой, негодный индекс ;-) Индексы по выражениям строить можно и очень часто они помогают. -- Best regards, Sergeymailto:gebele...@gmail.com
RE: ИндексЫ
Привет! Мне нужно поострить индекс в который будут добавлены, например только 7%, от общего количества записей. Просто остальные записи для поиска по этому индексу не нужны. Наличие не нужных записей в индексе очень заметно тормозит вставку новых записей в таблицу. Ну а вынести эти 7% в отдельную таблицу и построить уже по ней правильные индексы никак? WBR, Dmitry Beloshistov AKA [-=BDS=-]
Re: ИндексЫ
19.09.2011 14:33, Михаил Викторович пишет: Мне нужно поострить индекс в который будут добавлены, например только 7%, от общего количества записей. Просто остальные записи для поиска по этому индексу не нужны. Наличие не нужных записей в индексе очень заметно тормозит вставку новых записей в таблицу. Ну, так и надо сделать отдельную таблицу, связанную 1-к-1 с исходной, куда добавлять ключи требуемых записей, а в запросах на выборку эти таблицы джойнить. -- С уважением, Денис Редозубов
RE: ИндексЫ
Решение связанное с разбиением таблиц очевидное, и не интересное совсем. Вопрос про индексы остался открытым или твердое нет? -Original Message- From: ru-firebird@googlegroups.com [mailto:ru-firebird@googlegroups.com] On Behalf Of dennis redozubov Sent: Monday, September 19, 2011 2:52 PM To: ru-firebird@googlegroups.com Subject: Re: ИндексЫ 19.09.2011 14:33, Михаил Викторович пишет: Мне нужно поострить индекс в который будут добавлены, например только 7%, от общего количества записей. Просто остальные записи для поиска по этому индексу не нужны. Наличие не нужных записей в индексе очень заметно тормозит вставку новых записей в таблицу. Ну, так и надо сделать отдельную таблицу, связанную 1-к-1 с исходной, куда добавлять ключи требуемых записей, а в запросах на выборку эти таблицы джойнить. -- С уважением, Денис Редозубов
Re: ИндексЫ
Решение связанное с разбиением таблиц очевидное, и не интересное совсем. есть два варианта: а) разбить таблицу на две одинаковых, в одной 7%, в другой 93% б) сделать еще одну таблицу, в которой хранится только одно поле - PK из большой таблицы. те самые 7% PK В вашем случае в таблице лучше сделать два поля - PK, и значение, которое выдает udf
Re: ИндексЫ
Михаил Викторович ... Подскажите можно сделать индекс не полю а например на основании udf, которая будет обрабатывать блоб? Да. Можно сделать так что бы не все записи добавлялась в индекс? Нет. -- Хорсун Влад