@Andrew_Novikov

Правильно ли я выбрал структуру базы данных, создав 2500 одинаковых таблиц?

Делаю свой pet-проект. На локальном компе (Windows) написал сложный алгоритм, который взаимодействует с MySQL. К регистру вводимых данных серьезно не относился. Загрузил на VPS сервер и полетели ошибки. Первая проблема - это чувстительность к регистру в MySQL на сервере с Debian. В интернете есть решения по типу прописать в файле lower_case_table_names = 0 , запуск демона mysqld с параметром -O lower_case_table_names=1 и т.д. В результате навернулась БД, и упал сайт... Если не сложно, поделитесь простой проверенной инструкцией, как сделать mysql на сервере не чувсивтельным к регистру.
  • Вопрос задан
  • 251 просмотр
Решения вопроса 1
mayton2019
@mayton2019
Bigdata Engineer
Andrew_Novikov,

Пользователь выбирает имя спортсмена, например "Petr_Yan", дальше идет запрос к БД "select * from Petr_Yan",

нет-нет дружище так нельзя. Переделывай. Никто не создает по таблице на пользовательский
запрос. Таблица - слишком дорогой ресурс чтобы ей так просто бросаться.

Над таблицами думают. Их рисуют на архитектурных диаграммах. Ты чисто случайно словил
дефект в различиях файловых систем Linux/Windows и мы пришли вообще к тому что ты
сделал невернй дизайн БД.

После того как переделаешь - проблема сама собой уйдет. А когда будешь придумывать
имена таблиц - делай все в одном регистре. Так - проще жить. Меньше в будущем
будет архитектурных косяков.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SignFinder
@SignFinder
Wintel\Unix Engineer\DevOps
Простая и проверенная инструкция - "как сделать mysql на сервере не чувствительным к регистру" - это понимать, как работает mysql.
В нем есть кодировки и collation - CI (Case Insensible - не чувствительный к регистру) и CS (Case Sensible - Чувствительный к регистру).
Собственно вам нужно обеспечить поддержку кодировки символов CI
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы