|
null не индексируется при построении индекса
|
|||
---|---|---|---|
#18+
Во всех СУБД значение null не индексируется при построении индекса по этому полю и почему вообще так происходит? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 19:55 |
|
null не индексируется при построении индекса
|
|||
---|---|---|---|
#18+
Нет, не во всех. И даже в одной СУБД NULL может индексироваться или нет, в зависимости от каких-то причин. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 20:06 |
|
null не индексируется при построении индекса
|
|||
---|---|---|---|
#18+
Реализация может быть такова, что null и не хранится в таблице вовсе, просто поднят флаг (1 бит) в служебном поле. Т.о. индексировать просто нечего - нет значения (и в смысле, что сам по себе null - отсутствие значния, и в том смысле, что значения для null натурально нет в БД). ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 20:07 |
|
null не индексируется при построении индекса
|
|||
---|---|---|---|
#18+
arniРеализация может быть такова, что null и не хранится в таблице вовсе, просто поднят флаг (1 бит) в служебном поле. Т.о. индексировать просто нечего - нет значения (и в смысле, что сам по себе null - отсутствие значния, и в том смысле, что значения для null натурально нет в БД).Это не препятствие для индексации NULL-ов. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 20:10 |
|
null не индексируется при построении индекса
|
|||
---|---|---|---|
#18+
А когда null не индексируется это всегда приводит к table full scan для запросов с предикатом вида WHERE field is null ? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 20:20 |
|
null не индексируется при построении индекса
|
|||
---|---|---|---|
#18+
looklikeА когда null не индексируется это всегда приводит к table full scan для запросов с предикатом вида WHERE field is null ? А ты знаешь какой-то другой способ достать нужные записи из таблицы при отсутствии индекса? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 20:26 |
|
null не индексируется при построении индекса
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovlooklikeА когда null не индексируется это всегда приводит к table full scan для запросов с предикатом вида WHERE field is null ? А ты знаешь какой-то другой способ достать нужные записи из таблицы при отсутствии индекса? А в чем смысл тогда не индексировать null? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 20:29 |
|
null не индексируется при построении индекса
|
|||
---|---|---|---|
#18+
looklikeА в чем смысл тогда не индексировать null? Спроси в разделе той СУБД, которая его не индексирует. Если найдёшь такую. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 20:31 |
|
null не индексируется при построении индекса
|
|||
---|---|---|---|
#18+
miksoftНет, не во всех. И даже в одной СУБД NULL может индексироваться или нет, в зависимости от каких-то причин. А вы про какую именно СУБД и по какой причине имеет смысл там не индексировать null? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 20:38 |
|
null не индексируется при построении индекса
|
|||
---|---|---|---|
#18+
looklikemiksoftНет, не во всех. И даже в одной СУБД NULL может индексироваться или нет, в зависимости от каких-то причин. А вы про какую именно СУБД и по какой причине имеет смысл там не индексировать null?Например, Оракл не индексирует NULL если индекс состоит из одной колонки. А в многоколоночных индексах не индексирует только те записи, где все поля индекса IS NULL. Т.е. если одно из полей многоколоночного индекса NOT NULL, то все NULL-ы в остальных полях этого индекса будут проиндексированы. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 20:49 |
|
null не индексируется при построении индекса
|
|||
---|---|---|---|
#18+
miksoftlooklikeпропущено... А вы про какую именно СУБД и по какой причине имеет смысл там не индексировать null?Например, Оракл не индексирует NULL если индекс состоит из одной колонки. А в многоколоночных индексах не индексирует только те записи, где все поля индекса IS NULL. Т.е. если одно из полей многоколоночного индекса NOT NULL, то все NULL-ы в остальных полях этого индекса будут проиндексированы. А какой смысл не индексировать именно null? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 21:23 |
|
null не индексируется при построении индекса
|
|||
---|---|---|---|
#18+
looklikeА какой смысл не индексировать именно null? А как должно выглядеть значение индексного ключа для NULL? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 21:34 |
|
null не индексируется при построении индекса
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovlooklikeА какой смысл не индексировать именно null? А как должно выглядеть значение индексного ключа для NULL? Я уверен что ни я ни вы не знаете как выглядят 99% вещей внутри Oracle, так же уверен что они могли решить и эту задачу, а в-третьих miksoft... СУБД NULL может индексироваться или нет, в зависимости от каких-то причин. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 21:38 |
|
null не индексируется при построении индекса
|
|||
---|---|---|---|
#18+
looklikeЯ уверен что ни я ни вы не знаете как выглядят 99% вещей внутри Oracle И чо? От этого индексные ключи перестают быть индексными ключами? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 21:40 |
|
null не индексируется при построении индекса
|
|||
---|---|---|---|
#18+
> Во всех СУБД значение *null *не индексируется при построении индекса по этому > полю и почему вообще так происходит? Если не ошибаюсь, так поступает Оракл. Но -- только он один кажется. Т.е. это скорее исключение из правила, чем правило. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 23:20 |
|
null не индексируется при построении индекса
|
|||
---|---|---|---|
#18+
> А когда null не индексируется это всегда приводит к table full scan для запросов > с предикатом вида *WHERE field is null* ? Ну, могут быть какие-то другие условия в запросе ещё, тогда они могут дать не table scan. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 23:22 |
|
null не индексируется при построении индекса
|
|||
---|---|---|---|
#18+
On 05/31/2012 10:23 PM, looklike wrote: > А какой смысл не индексировать именно null? a == NULL ==> unknown => false. a != NULL ==> unknown => false NULL == NULL ==> unknown => false Вот эта логика у них работает уже на уровне структуры индекса, и всё. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 23:24 |
|
null не индексируется при построении индекса
|
|||
---|---|---|---|
#18+
MasterZivOn 05/31/2012 10:23 PM, looklike wrote: > А какой смысл не индексировать именно null? a == NULL ==> unknown => false. a != NULL ==> unknown => false NULL == NULL ==> unknown => false Вот эта логика у них работает уже на уровне структуры индекса, и всё. Эм, но ведь a IS NULL ==> known или специально для этого и создана отдельный предикат IS NULL, который не использует индексы? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 23:39 |
|
null не индексируется при построении индекса
|
|||
---|---|---|---|
#18+
> или специально для этого и создана отдельный предикат IS NULL, который не > использует индексы? Ну он не везде неиспользует индексы. Ну не знаю я, что еэто ораклам вперлось так не добавлять NULL в индексы Ну, может думали статистику индекса не портить. Может ещё какие-то особенности реализации. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 23:53 |
|
null не индексируется при построении индекса
|
|||
---|---|---|---|
#18+
Кстати, а кто знает в MS SQL, Firebird, PostgreSQL и MySQL индексируется null? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2012, 00:05 |
|
null не индексируется при построении индекса
|
|||
---|---|---|---|
#18+
On 06/01/2012 01:05 AM, looklike wrote: > Кстати, а кто знает в MS SQL -- да. MySQL -- да (на самом деле зависит от движка БД, но во всех индексируется). Firebird, PostgreSQL -- не знаю, но подозреваю, что да. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2012, 00:58 |
|
null не индексируется при построении индекса
|
|||
---|---|---|---|
#18+
Firebird зависит от версии. В более-менее свежих - да. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2012, 01:39 |
|
null не индексируется при построении индекса
|
|||
---|---|---|---|
#18+
MasterZivOn 06/01/2012 01:05 AM, looklike wrote: > Кстати, а кто знает в MS SQL -- да. Для фильтрованных индексов - можно исключить ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2012, 02:42 |
|
null не индексируется при построении индекса
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovFirebird зависит от версииОн всегда индексировался. Возможно не всегда IS NULL хватал индекс, не помню. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2012, 11:03 |
|
|
start [/forum/topic.php?fid=35&msg=37820389&tid=1552544]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
23ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 133ms |
0 / 0 |