Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Длинный уникальный ключ TEXT. / 8 сообщений из 8, страница 1 из 1
24.11.2015, 17:14
    #39112456
Artemeey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длинный уникальный ключ TEXT.
Есть поле размером mediumtext. Необходим уникальный индекс.
Сейчас работает на MySQL, но там по всей видимости ключ такой длины сделать невозможно.

Прошу порекомендовать движок, который сможет хранить ключи большого размера и быстро к ним обращаться. Место хранение базы - жесткий диск (не MEMORY).

Предполагается поиск по ключу в виде: `text` = 'text'.
...
Рейтинг: 0 / 0
24.11.2015, 17:21
    #39112467
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длинный уникальный ключ TEXT.
Я бы рассмотрел возможность поиска по хэшам.
...
Рейтинг: 0 / 0
24.11.2015, 17:27
    #39112474
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длинный уникальный ключ TEXT.
Кот МатроскинЯ бы рассмотрел возможность поиска по хэшам.+1
Положить в отдельном поле MD5 от этого текста и искать по нему.
...
Рейтинг: 0 / 0
24.11.2015, 18:01
    #39112512
Artemeey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длинный уникальный ключ TEXT.
miksoft,

Хорошая идея. Насколько это корректно использовать?
...
Рейтинг: 0 / 0
24.11.2015, 18:15
    #39112527
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длинный уникальный ключ TEXT.
ArtemeeyНасколько это корректно использовать?Если текстов не слишком много и не будете налетать на коллизии, то корректно.
Если у вас база масштаба поискового индекса яндекса, то не пойдет.
...
Рейтинг: 0 / 0
24.11.2015, 18:27
    #39112543
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длинный уникальный ключ TEXT.
miksoftArtemeeyНасколько это корректно использовать?Если текстов не слишком много и не будете налетать на коллизии, то корректно.
Если у вас база масштаба поискового индекса яндекса, то не пойдет.

Вероятность случайно налететь на коллизию с тем же MD5 - ээ, невелика :) в базе любого размера. И даже если коллизия паче чаяния таки случится - это не означает некорректный результат запроса, а только лишний RID lookup из таблицы.
Есть другая проблема - возникает ФЗ, нужно строго синхронизировать содержимое двух полей. Но тут уж надо смотреть, стоит ли игра свеч - "бесплатно", ничем не жертвуя, быстрого поиска по мегабайтным текстам в любом случае не получить.
...
Рейтинг: 0 / 0
24.11.2015, 18:31
    #39112546
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длинный уникальный ключ TEXT.
Кот МатроскинИ даже если коллизия паче чаяния таки случится - это не означает некорректный результат запроса, а только лишний RID lookup из таблицы.Топикстартер хочет уникальный индекс. Так что если коллизия, если и случится, то на этапе вставки, а не выборки.

Я бы сделал обработку соответствующей ошибки с проверкой "это реально коллизия или просто исходный текст одинаковый" и логированием результата. Если возникнет реальная коллизия, то уже разбираться вручную. Хотя, конечно, вероятность мизерная.
...
Рейтинг: 0 / 0
24.11.2015, 20:43
    #39112649
Artemeey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длинный уникальный ключ TEXT.
Принято решение условно использовать хэш для быстрого поиска, а так же обязательно проверять на полное совпадения найденного поля при поиске и при вставке.

Поиск по самому тексту, а так же редактирование сразу нескольких полей нам не надо, по этому это подходит.

Всем спасибо.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Длинный уникальный ключ TEXT. / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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