Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ограничение при создании индекса (Firebird 1.5)
|
|||
|---|---|---|---|
|
#18+
FB 1.5 не позволяет создать индекс на поле VARCHAR(255) из-за превышения размера ключа. Размер поля уменьшать нельзя. В таблице порядка 10000 записей, из них у не более 0.25% записей это поле заполнено. К таблице будут запросы, предложение WHERE которых содержит условие на данное поле. Можно ли в этом случае обойтись без индекса? Или нужно искать обходные пути для индексирования? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 14:47 |
|
||
|
Ограничение при создании индекса (Firebird 1.5)
|
|||
|---|---|---|---|
|
#18+
Interloper, Заполнено 10000*0.25/100=25 записей? круто предлагаю для начала забить на индекс можно еще эти данные выносить в отдельную таблицу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 14:51 |
|
||
|
Ограничение при создании индекса (Firebird 1.5)
|
|||
|---|---|---|---|
|
#18+
Hello, Interloper! You wrote on 11 марта 2015 г. 14:57:15: Interloper> FB 1.5 не позволяет создать индекс на поле VARCHAR(255)позволяет Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 14:56 |
|
||
|
Ограничение при создании индекса (Firebird 1.5)
|
|||
|---|---|---|---|
|
#18+
МимопроходящийHello, Interloper! You wrote on 11 марта 2015 г. 14:57:15: Interloper> FB 1.5 не позволяет создать индекс на поле VARCHAR(255)позволяет Нет, выдает ошибку "key size too big for index". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 15:03 |
|
||
|
Ограничение при создании индекса (Firebird 1.5)
|
|||
|---|---|---|---|
|
#18+
Hello, Interloper! You wrote on 11 марта 2015 г. 15:05:11: Interloperkey size too big for index да, забыл что в 1.5 это не зависит от размера страницы. максимально возможный - VARCHAR(252) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 15:05 |
|
||
|
Ограничение при создании индекса (Firebird 1.5)
|
|||
|---|---|---|---|
|
#18+
Может ли Firebird быстро отсеивать записи, у которых значение поля равно NULL, в случае, когда предложение WHERE определяет записи, у которых значение поля не равно NULL? Почти уверен, что не может, но на всякий случай уточню. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 15:36 |
|
||
|
Ограничение при создании индекса (Firebird 1.5)
|
|||
|---|---|---|---|
|
#18+
точно так же как и оракл Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 15:40 |
|
||
|
Ограничение при создании индекса (Firebird 1.5)
|
|||
|---|---|---|---|
|
#18+
Interloper, мда. попробую догадаться. без индекса поиск where по столбцу вынужден перебирать все записи, потому что неизвестно, что в конкретном столбце находится - null или какое-то другое значение. И в этом плане null - это всего лишь одно из возможных значений данного столбца. Способ "быстро отсеять" - это построить индекс и использовать его. Другие способы - из области фантастики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 15:41 |
|
||
|
Ограничение при создании индекса (Firebird 1.5)
|
|||
|---|---|---|---|
|
#18+
kdvInterloper, мда. попробую догадаться. без индекса поиск where по столбцу вынужден перебирать все записи, потому что неизвестно, что в конкретном столбце находится - null или какое-то другое значение. И в этом плане null - это всего лишь одно из возможных значений данного столбца. Способ "быстро отсеять" - это построить индекс и использовать его. Другие способы - из области фантастики. есть еще колдунство - вынести искомое поле в отдельную табличку. будет поиск по жалким долям процента и джойн по первичному ключу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 15:50 |
|
||
|
Ограничение при создании индекса (Firebird 1.5)
|
|||
|---|---|---|---|
|
#18+
kdvInterloper, мда. попробую догадаться. без индекса поиск where по столбцу вынужден перебирать все записи, потому что неизвестно, что в конкретном столбце находится - null или какое-то другое значение. И в этом плане null - это всего лишь одно из возможных значений данного столбца. Способ "быстро отсеять" - это построить индекс и использовать его. Другие способы - из области фантастики. А что если бы сервер создавал что-то типа битовой карты, в которой бы хранил признак NULL/заполнено для поля? В теории тогда такое отсеивание было бы возможным независимо от создания индекса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 15:57 |
|
||
|
Ограничение при создании индекса (Firebird 1.5)
|
|||
|---|---|---|---|
|
#18+
pastorесть еще колдунство - вынести искомое поле в отдельную табличку. да, была у нас одна система. Где-то около 600 тысяч юзерских аккаунтов, из которых регистрировались только 30%, т.е. 60% имен юзеров были null. А табличка была здоровенная, где-то около 50 столбцов со всякими "город, улица, возраст...". И при обсчете регистрированных пользователей все это начинало конкретно тормозить. Сделали доп. таблицу, куда вынесли всего 5-6 столбцов. Плюс триггеры, которые при заполнении имени юзера копировали эту запись из основной в эту доп. таблицу. Во всех пересчетах поменяли основную таблицу на дополнительную. И, о чудо! Пересчеты ускорились более чем в 10 раз (не помню точно, но не меньше). 1. количество обрабатываемых записей сократилось на 60%, что дало сильный прирост в join 2. объем обрабатываемой информации сократился не менее чем раз в 10, т.к. в таблице было всего 5-6 столбцов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 16:00 |
|
||
|
Ограничение при создании индекса (Firebird 1.5)
|
|||
|---|---|---|---|
|
#18+
InterloperА что если бы сервер создавал что-то типа битовой карты, в которой бы хранил признак NULL/заполнено для поля? это и есть "нечто вроде индекса". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 16:03 |
|
||
|
Ограничение при создании индекса (Firebird 1.5)
|
|||
|---|---|---|---|
|
#18+
создай доп.поле. в него пиши триггером по insert и update. какой-нить свой признак NULL/NOT NULL. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 16:10 |
|
||
|
Ограничение при создании индекса (Firebird 1.5)
|
|||
|---|---|---|---|
|
#18+
Мимопроходящийсоздай доп.поле. в него пиши триггером по insert и update. какой-нить свой признак NULL/NOT NULL. Да, такая мысль у меня тоже возникла. Так и сделаю, если без индекса будет тормозить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 16:14 |
|
||
|
Ограничение при создании индекса (Firebird 1.5)
|
|||
|---|---|---|---|
|
#18+
Interloperиз них у не более 0.25% записей это поле заполнено.выносить в пристыкованную табличку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 16:19 |
|
||
|
Ограничение при создании индекса (Firebird 1.5)
|
|||
|---|---|---|---|
|
#18+
Interloperесли без индекса будет тормозить. на 10 тысячах записей будет тормозить или если запрос написан суперкриво, или если в запросе объединяются хотя бы 10 таблиц такого же размера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 16:25 |
|
||
|
Ограничение при создании индекса (Firebird 1.5)
|
|||
|---|---|---|---|
|
#18+
InterloperVARCHAR(255) ....уменьшать нельзя. Число 255 однозначно намекает, что размер поля был выбран от балды. В таких условиях "менять нельзя" - простая прихоть идиота. Interloperесли бы сервер 1.5 - окаменевшее дерьмо дохлого мамонта. К нему "бы" неприменимо в принципе. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 16:43 |
|
||
|
Ограничение при создании индекса (Firebird 1.5)
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovInterloperVARCHAR(255) ....уменьшать нельзя. Число 255 однозначно намекает, что размер поля был выбран от балды. В таких условиях "менять нельзя" - простая прихоть идиота. То, что 255=2^8-1, конечно же, абсолютно случайно! Есть определенные корпоративные стандарты, а не прихоть идиота. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2015, 08:23 |
|
||
|
Ограничение при создании индекса (Firebird 1.5)
|
|||
|---|---|---|---|
|
#18+
Мимопроходящиймаксимально возможный - VARCHAR(252)InterloperЕсть определенные корпоративные стандарты, а не прихоть идиота.откусть ТРИ (!!!) жалких символа от "стандарта" и не конопатить мозги? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2015, 11:03 |
|
||
|
Ограничение при создании индекса (Firebird 1.5)
|
|||
|---|---|---|---|
|
#18+
InterloperЕсть определенные корпоративные стандарты, а не прихоть идиота. корпоративные стандарты, конечно, хорошо, но про ограничение на индексируемое поле в 252 символа известно еще с конца 90х, у меня даже на сайте хранится древнее письмо Карвина http://www.ibase.ru/mail/idx_size.txt не говоря о том, что пресловутые 252 символа указаны здесь http://www.ibase.ru/devinfo/charvar.htm и здесь http://www.ibase.ru/devinfo/ibrusfaq.htm и в туче других мест. а про то, что это ограничение снято в ФБ 2.0, и теперь есть ограничение на 1/4 страницы, об этом известно с 2006 года. В общем, как ни крути, но .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2015, 11:21 |
|
||
|
Ограничение при создании индекса (Firebird 1.5)
|
|||
|---|---|---|---|
|
#18+
InterloperЕсть определенные корпоративные стандарты И чем обоснован стандарт на 255 символов, кроме того, что это 2^8-1? Почему именно 255, а не 256? Почему не 252? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2015, 11:35 |
|
||
|
Ограничение при создании индекса (Firebird 1.5)
|
|||
|---|---|---|---|
|
#18+
Interloper> Есть определенные корпоративные стандарты, а не прихоть идиота. А почему бы корпоративным стандартам не перейти на 2.0.7 или даже на 2.1.7?.. Не говоря уже про 2.5.3... -- Vladimir A.Bakhvaloff Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2015, 11:37 |
|
||
|
Ограничение при создании индекса (Firebird 1.5)
|
|||
|---|---|---|---|
|
#18+
Hello, Zirra! You wrote on 12 марта 2015 г. 11:44:02: Zirra> А почему бы корпоративным стандартам не перейти на 2.0.7 > или даже на 2.1.7?.. > Не говоря уже про 2.5.3... в ожидании пенсии любое телодвижение представляется крамолой. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2015, 11:44 |
|
||
|
Ограничение при создании индекса (Firebird 1.5)
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovInterloperЕсть определенные корпоративные стандарты И чем обоснован стандарт на 255 символов, кроме того, что это 2^8-1? Почему именно 255, а не 256? Почему не 252? Ну дык в старом добром Turbo Pascal было ограничение на строку в 255 символов. Отсюда ноги и растут... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2015, 12:26 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38901522&tid=1562980]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
177ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 272ms |
| total: | 550ms |

| 0 / 0 |
