Почему Вы хотели бы чувствительную к регистру базу данных?

Каковы некоторые причины того, чтобы предпочесть чувствительное к регистру сопоставление нечувствительному к регистру? Я вижу, возможно, скромное увеличение производительности для механизма DB в выполнении сравнений строк. Это - это? Если Ваши данные установлены на все, понижаются, или верхний регистр, затем чувствительный к регистру, мог бы быть разумным, но это - авария, если Вы храните смешанные данные случая и затем пытаетесь запросить их. Необходимо затем сказать, применяют более низкое () функция на столбце так, чтобы это соответствовало соответствующему строковому литералу нижнего регистра. Это предотвращает индексное использование в каждой DBMS, которую я использовал. Так удивление, почему любой использовал бы такую опцию.

8
задан Khorkrak 7 June 2010 в 01:17
поделиться

4 ответа

Есть много примеров данных с ключами, которые естественно чувствительны к регистру:

  • Файлы в файловой системе, чувствительной к регистру, как Unix.
  • Имена в кодировке Base-64 (я полагаю, именно это использует YouTube, как в ответе Артелиуса).
  • Символы в большинстве языков программирования.

Хранение данных, чувствительных к регистру, в системе, не чувствительной к регистру, чревато несогласованностью данных или даже потерей важной информации. Хранение данных, нечувствительных к регистру, в системе, чувствительной к регистру, в худшем случае несколько неэффективно. Как вы указываете, если вы знаете только имя искомого объекта без учета регистра, вам нужно скорректировать запрос:

SELECT * FROM t WHERE LOWER(name) = 'something';

Отмечу, что в PostgreSQL (и, вероятно, в других системах) можно просто создать индекс на выражении LOWER(name), который будет использоваться в таких запросах.

9
ответ дан 5 December 2019 в 12:56
поделиться

Одна из причин - управление контентом. Обычно вам необходимо идентифицировать изменения в содержании, чтобы эти изменения можно было просмотреть, записать и опубликовать. Дело имеет значение для удобочитаемого контента. «Дэйв Доу» правильный. "Дэйв Доу" совершенно неверно.

Чувствительность к регистру также важна для разработчиков программного обеспечения. Если вы не знаете желаемую чувствительность к регистру для всех систем ваших клиентов, вы все равно можете протестировать чувствительность к регистру в рамках тестирования.

1
ответ дан 5 December 2019 в 12:56
поделиться

Используйте индекс, нечувствительный к регистру, для вашего поля. В большинстве случаев вы не хотите манипулировать данными, чтобы найти его.

1
ответ дан 5 December 2019 в 12:56
поделиться

Зависит от данных, которые вы хотите хранить. Большинство файловых систем UNIX представляют собой базы данных с ключами, чувствительными к регистру. Видео на YouTube, похоже, организовано с ключами, чувствительными к регистру.

В большинстве случаев вам нужен поиск без учета регистра, но, очевидно, есть определенные исключения.

2
ответ дан 5 December 2019 в 12:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: