Антипаттерны SQL. Как избежать ловушек при работе с базами данных
Қосымшада ыңғайлырақҚосымшаны жүктеуге арналған QRRuStore · Samsung Galaxy Store
Huawei AppGallery · Xiaomi GetApps

автордың кітабынан сөз тіркестері  Антипаттерны SQL. Как избежать ловушек при работе с базами данных

Nikita Kehlerr
Nikita Kehlerrдәйексөз келтірді1 жыл бұрын
Эксперт — это человек, который совершил все возможные ошибки в очень узкой специальности. Нильс Бор
3 Ұнайды
Комментарий жазу
Руслан
Русландәйексөз келтірді2 жыл бұрын
Однако с изменениями в файлах, расположенных вне базы данных, все иначе. Если вы удаляете файл, он немедленно становится недоступным для других клиентов. И если изменить содержимое файла, то другие клиенты увидят эти изменения сразу же — вместо предыдущего содержимого файла, отображаемого, пока транзакция не подтверждена.
1 Ұнайды
Комментарий жазу
Григор П.
Григор П.дәйексөз келтірді3 күн бұрын
«Один случай из миллиона — значит, в следующий вторник»
Комментарий жазу
Данила
Даниладәйексөз келтірді3 апта бұрын
Если вам нужны точные дробные значения, используйте тип данных NUMERIC. Тип данных FLOAT не способен представлять многие дробные рациональные числа, поэтому с ними приходится работать как с неточными значениями
Комментарий жазу
Данила
Даниладәйексөз келтірді3 апта бұрын
Преимущество NUMERIC и DECIMAL заключается в том, что они позволяют хранить рациональные числа без округления
Комментарий жазу
Данила
Даниладәйексөз келтірді3 апта бұрын
Одно из распространенных обходных решений этой проблемы — считать, что значения с плавающей точкой «фактически равны», если они достаточно близки друг к другу в пределах небольшого порога. Вычтите одно значение из другого и удалите знак из разности при помощи функции модуля ABS(). Если результат равен нулю, значит, два значения в точности равны. Если результат достаточно мал, два значения считаются «фактически равными»
Комментарий жазу
Данила
Даниладәйексөз келтірді3 апта бұрын
SELECT * FROM Accounts WHERE hourly_rate = 59.95; Результат: пустое множество; совпадения отсутствуют.
Комментарий жазу
Данила
Даниладәйексөз келтірді3 апта бұрын
Даже если увеличить точность, вы все равно не сможете сложить три приближения 1/3, чтобы получить точное значение 1.0. Этот компромисс неизбежен при использовании конечной точности для представления чисел с повторяющимися цифрами
Комментарий жазу
Данила
Даниладәйексөз келтірді3 апта бұрын
Многие разработчики используют тип данных SQL FLOAT всегда, когда им требуются дробные числовые данные, потому что они привыкли программировать с типом данных float
Комментарий жазу
Данила
Даниладәйексөз келтірді3 апта бұрын
Не нужно выполнять проверочные запросы SELECT перед вставкой, обновлением или удалением. • Не нужно блокировать таблицы для защиты многотабличных изменений. • Не нужно периодически запускать скрипты контроля качества для исправления неизбежных осиротевших строк.
Комментарий жазу