Есть Веб приложение (ASP NET MVC), которое досталось на поддержку.
Часть по аутентификации использует подключение к базе MS SQL Server Expres.
Основная часть приложения, использует БД My SQL Commynity.
Конечно чтобы не тратить деньги никто в организации не хочет вкладываться в нормальную версию MS SQL Server.
вопрос (по части MY SQL), есть ли ограничение в MySQL на идентификаторы в базе данных?
Поясню, есть таблица, столбцы int(11) identity 1,1, varchar(255)......
Первый столбец автоинкремент. С ним вопрос, у него длина 2147483647, как только достигнут значения в БД такого количества, что произойдет с данными? вставка в БД будет невозможна? или будут перезаписываться? как в данном случае ведет себя MySQL ?
Решения проблемы: использовать BIGINT или UNSIGNED BIGINT, но они тоже конечны ?
Или есть другие способы решения?
Если перевести все таблицы в MSSQL Server Express, как лучше обойти ограничение в 10Гб ?
Решения проблемы: использовать BIGINT или UNSIGNED BIGINT, но они тоже конечны ?
Возьмите калькулятор, посчитайте с какой скоростью вам надо писать данные, чтобы хотя бы за нереальные для срока жизни приложения 50 лет вы их исчерпали.
select pow(2,63)/50/365.25/24/60/60;
5845420460.906264
Почти 6 миллиардов строк в секунду? У вас серьёзно есть столько данных? А где вы их хранить собираетесь?
у него длина 2147483647, как только достигнут значения в БД такого количества, что произойдет с данными?
Если говорить об AUTO_INCREMENT - новые строки будет невозможно вставить из-за нарушения ограничения первичного ключа, т.к. AUTO_INCREMENT требует быть уникальным.
Интересное исключение - если вы используете insert on duplicate key update
- вы получите нарушение первичного ключа при попытке insert
и потому будет запускаться update
последней строки. Хотя в 8.0 может и изменили поведение. На 5.6 последний раз проверял.
Кстати, у MS SQL ровно те же самые лимиты на генерацию последовательностей: identity ограничен размером типа данных. Int и bigint ровно такие же как в mysql.
Столкнулась с такой проблемой, при регистрации на сайте через емайл example@mailru выходит ошибка:
Как можно вывести родительский атрибут и атрибут самой страницы? Например: Главная - КаталогНа определённой странице?
Когда авторизировался в веб версии Instagram и нажал на кнопку количества друзей, то отправился get-запрос: