powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / null не индексируется при построении индекса
25 сообщений из 30, страница 1 из 2
null не индексируется при построении индекса
    #37820367
looklike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Во всех СУБД значение null не индексируется при построении индекса по этому полю и почему вообще так происходит?
...
Рейтинг: 0 / 0
null не индексируется при построении индекса
    #37820376
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, не во всех. И даже в одной СУБД NULL может индексироваться или нет, в зависимости от каких-то причин.
...
Рейтинг: 0 / 0
null не индексируется при построении индекса
    #37820378
Фотография arni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Реализация может быть такова, что null и не хранится в таблице вовсе, просто поднят флаг (1 бит) в служебном поле. Т.о. индексировать просто нечего - нет значения (и в смысле, что сам по себе null - отсутствие значния, и в том смысле, что значения для null натурально нет в БД).
...
Рейтинг: 0 / 0
null не индексируется при построении индекса
    #37820381
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arniРеализация может быть такова, что null и не хранится в таблице вовсе, просто поднят флаг (1 бит) в служебном поле. Т.о. индексировать просто нечего - нет значения (и в смысле, что сам по себе null - отсутствие значния, и в том смысле, что значения для null натурально нет в БД).Это не препятствие для индексации NULL-ов.
...
Рейтинг: 0 / 0
null не индексируется при построении индекса
    #37820389
looklike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А когда null не индексируется это всегда приводит к table full scan для запросов с предикатом вида WHERE field is null ?
...
Рейтинг: 0 / 0
null не индексируется при построении индекса
    #37820394
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
looklikeА когда null не индексируется это всегда приводит к table full scan для запросов с
предикатом вида WHERE field is null ?

А ты знаешь какой-то другой способ достать нужные записи из таблицы при отсутствии индекса?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
null не индексируется при построении индекса
    #37820397
looklike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovlooklikeА когда null не индексируется это всегда приводит к table full scan для запросов с
предикатом вида WHERE field is null ?

А ты знаешь какой-то другой способ достать нужные записи из таблицы при отсутствии индекса?

А в чем смысл тогда не индексировать null?
...
Рейтинг: 0 / 0
null не индексируется при построении индекса
    #37820399
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
looklikeА в чем смысл тогда не индексировать null?
Спроси в разделе той СУБД, которая его не индексирует. Если найдёшь такую.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
null не индексируется при построении индекса
    #37820405
looklike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftНет, не во всех. И даже в одной СУБД NULL может индексироваться или нет, в зависимости от каких-то причин.
А вы про какую именно СУБД и по какой причине имеет смысл там не индексировать null?
...
Рейтинг: 0 / 0
null не индексируется при построении индекса
    #37820419
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
looklikemiksoftНет, не во всех. И даже в одной СУБД NULL может индексироваться или нет, в зависимости от каких-то причин.
А вы про какую именно СУБД и по какой причине имеет смысл там не индексировать null?Например, Оракл не индексирует NULL если индекс состоит из одной колонки.
А в многоколоночных индексах не индексирует только те записи, где все поля индекса IS NULL.
Т.е. если одно из полей многоколоночного индекса NOT NULL, то все NULL-ы в остальных полях этого индекса будут проиндексированы.
...
Рейтинг: 0 / 0
null не индексируется при построении индекса
    #37820444
looklike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftlooklikeпропущено...

А вы про какую именно СУБД и по какой причине имеет смысл там не индексировать null?Например, Оракл не индексирует NULL если индекс состоит из одной колонки.
А в многоколоночных индексах не индексирует только те записи, где все поля индекса IS NULL.
Т.е. если одно из полей многоколоночного индекса NOT NULL, то все NULL-ы в остальных полях этого индекса будут проиндексированы.
А какой смысл не индексировать именно null?
...
Рейтинг: 0 / 0
null не индексируется при построении индекса
    #37820455
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
looklikeА какой смысл не индексировать именно null?

А как должно выглядеть значение индексного ключа для NULL?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
null не индексируется при построении индекса
    #37820458
looklike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovlooklikeА какой смысл не индексировать именно null?

А как должно выглядеть значение индексного ключа для NULL?

Я уверен что ни я ни вы не знаете как выглядят 99% вещей внутри Oracle, так же уверен что они могли решить и эту задачу, а в-третьих miksoft... СУБД NULL может индексироваться или нет, в зависимости от каких-то причин.
...
Рейтинг: 0 / 0
null не индексируется при построении индекса
    #37820464
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
looklikeЯ уверен что ни я ни вы не знаете как выглядят 99% вещей внутри Oracle

И чо? От этого индексные ключи перестают быть индексными ключами?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
null не индексируется при построении индекса
    #37820575
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Во всех СУБД значение *null *не индексируется при построении индекса по этому
> полю и почему вообще так происходит?

Если не ошибаюсь, так поступает Оракл. Но -- только он один кажется.
Т.е. это скорее исключение из правила, чем правило.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
null не индексируется при построении индекса
    #37820580
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> А когда null не индексируется это всегда приводит к table full scan для запросов
> с предикатом вида *WHERE field is null* ?

Ну, могут быть какие-то другие условия в запросе ещё, тогда они могут
дать не table scan.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
null не индексируется при построении индекса
    #37820583
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
null не индексируется при построении индекса
    #37820596
looklike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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, который не использует индексы?
...
Рейтинг: 0 / 0
null не индексируется при построении индекса
    #37820615
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> или специально для этого и создана отдельный предикат IS NULL, который не
> использует индексы?

Ну он не везде неиспользует индексы.
Ну не знаю я, что еэто ораклам вперлось так не добавлять NULL в индексы
Ну, может думали статистику индекса не портить. Может ещё какие-то
особенности реализации.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
null не индексируется при построении индекса
    #37820620
looklike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати, а кто знает в MS SQL, Firebird, PostgreSQL и MySQL индексируется null?
...
Рейтинг: 0 / 0
null не индексируется при построении индекса
    #37820649
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 06/01/2012 01:05 AM, looklike wrote:
> Кстати, а кто знает в

MS SQL -- да.
MySQL -- да (на самом деле зависит от движка БД, но во всех индексируется).

Firebird, PostgreSQL -- не знаю, но подозреваю, что да.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
null не индексируется при построении индекса
    #37820671
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Firebird зависит от версии. В более-менее свежих - да.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
null не индексируется при построении индекса
    #37820694
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivOn 06/01/2012 01:05 AM, looklike wrote:
> Кстати, а кто знает в

MS SQL -- да.

Для фильтрованных индексов - можно исключить
...
Рейтинг: 0 / 0
null не индексируется при построении индекса
    #37821063
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovFirebird зависит от версииОн всегда индексировался.
Возможно не всегда IS NULL хватал индекс, не помню.
...
Рейтинг: 0 / 0
null не индексируется при построении индекса
    #37821076
looklike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovFirebird зависит от версии. В более-менее свежих - да.

А как выглядит значение индексного ключа для NULL?
...
Рейтинг: 0 / 0
25 сообщений из 30, страница 1 из 2
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / null не индексируется при построении индекса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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