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

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

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

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

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

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

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

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


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