ФорумРазработкаУстановка и администрирование ПОСерверы баз данных → Почему не нужно использовать MySQL

Почему не нужно использовать MySQL

  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 14 марта 2015 г. 18:31, спустя 13 минут 57 секунд

    Я думаю самое большое гавно это наш поиск)

    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 14 марта 2015 г. 18:39, спустя 7 минут 36 секунд

    если не указан явно движок таблиц, то чего ждать?

    это риторический вопрос типа "чего ты ждал от mysql" или вопрос "чего вообще правильно ожидать от нормального продукта"?

    нормальный продукт если не может выполнить команду - сообщает об этом. собственно, чем меньше софт требует от разработчика держать в голове разных нюансов, тем он лучше.

    не всё полезно, что в swap полезло
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 14 марта 2015 г. 18:50, спустя 11 минут 15 секунд

    явно не указал - твоя вина. имхо.

    то что глотает опции которые не поддерживаются - херово конечно, но видимо синтакс анализ происходит ДО момента выбора движка. Это фича, а не баг короче

    Сапожник без сапог
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 14 марта 2015 г. 19:02, спустя 12 минут 1 секунду

    @phpdude, вопрос не в том, кто будет разгребать последствия того, что я не указал (понятно что это я), а в непредсказуемости поведения софта. Появляется вопрос "а что я ещё не указал?" - нужно открывать базу, смотреть, всё ли на месте, время тратить. Либо искать инструмент для проверки. При том что СУБД делаются именно для того, чтобы класть в них данные и не париться. Положил - забыл, зная, что оно там лежит надёжно и консистентно, решаешь другие задачи. А оно оказывается не надёжно и неконсистентно.

    не всё полезно, что в swap полезло
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 14 марта 2015 г. 19:05, спустя 2 минуты 26 секунд

    @master, myisam короче соска. Ты просто еще раз это доказал на своем примере.

    Сапожник без сапог
  • Ivan.

    Сообщения: 495 Репутация: N Группа: Адекваты

    Spritz 14 марта 2015 г. 19:13, спустя 8 минут 4 секунды

    не гоните, myisam заебись, просто для всего свой инструмент

  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 14 марта 2015 г. 19:13, спустя 32 секунды

    ну началось

    Спустя 41 сек.

    давайте как проебёте таблицу при восстановлении из дампа - так и поговорим

    не всё полезно, что в swap полезло
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 14 марта 2015 г. 23:28, спустя 4 часа 15 минут 3 секунды

    Ок, можно сказать, что MySQL говно. А можно сказать, что ты просто не знал чего-то важного.
    Есть у MySQL такая фишка, когда синтаксически верные, но нереализованные конструкции не сигналятся.

    Спустя 160 сек.

    Например можно в CREATE TABLE указать у ключа порядок ASC или DESC. Можно указать CHECK у внешнего ключа. Ну и сам FK в неподобающем движке. Это не будет работать, это может ввести в заблуждение, но это не ошибка.

    Или любимое многими

    SELECT абсолютно-любой-набор-полей … GROUP BY…
    Люди хотят верить, что так можно. В при некоторых настройках действительно можно указать любые поля, но это же нереально!
    ιιlllιlllι унц-унц
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 14 марта 2015 г. 23:42, спустя 14 минут 4 секунды

    Или любимое многими

    @artoodetoo, да, такое в постгре не прокатит

    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 14 марта 2015 г. 23:59, спустя 16 минут 14 секунд

    @artoodetoo, @adw0rd, не понял что это за пример. Можете более подробно раскрыть проблему? Пойдет ссылка на стек или тп.

    Спустя 84 сек.

    Например можно в CREATE TABLE указать у ключа порядок ASC или DESC. Можно указать CHECK у внешнего ключа. Ну и сам FK в неподобающем движке. Это не будет работать, это может ввести в заблуждение, но это не ошибка.

    @artoodetoo, ну я же выше говорил что просто синтаксический разбор запроса происходит до выбора движка. Это проблема не того что это MySQL, а проблема того что мускуль поддерживает несколько движков одновременно, даже в базе таблицы могут иметь разный двиг.

    По хорошему конечно пост валидация должна происходить по возможностям выбранного движка, хз почему они ее не сделали, но живем с тем что имеем :)

    Сапожник без сапог
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 15 марта 2015 г. 0:17, спустя 18 минут 23 секунды

    @phpdude, при группировке, поля не участвующие в группировке не должны выводится, смысла в них нет, они не агрегаты. Постгрес выдаст ошибку, а мускул выведет какие-то ячейки на свое усмотрение

    Спустя 124 сек.

    Явное лучше неявного

    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 15 марта 2015 г. 0:23, спустя 5 минут 42 секунды

    @adw0rd, а, все, понял тебя. да. есть такая беда.

    это людей вводит в заблуждение по незнайке

    Сапожник без сапог
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 15 марта 2015 г. 0:39, спустя 16 минут 41 секунду

    @phpdude, при группировке, поля не участвующие в группировке не должны выводится, смысла в них нет, они не агрегаты. Постгрес выдаст ошибку, а мускул выведет какие-то ячейки на свое усмотрение

    @adw0rd, в многих так нельзя, не помню еще где, в Oracle вроде

  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 15 марта 2015 г. 5:59, спустя 5 часов 19 минут 36 секунд

    группировка решается опцией sql_mode=...,ONLY_FULL_GROUP_BY

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

    кстати, про sql_mode и строгий режим

    если вы хотите получать последнюю версию mysql - вы можете подключить репозиторий mysql. там будет пакет mysql-community-server. если его установить и изменить sql_mode в /etc/mysql/my.cnf - то новое значение не будет работать. когда вы потратите какое-то время на выяснение то ли лыжи не едут то ли что-то ещё - выяснится, что новый пакет ставит в систему ДВА my.cnf, и оба использует. второй лежит в /usr и в нём прописано sql_mode=STRICT_TRANS_TABLES.

    жду ещё комментариев, что это не mysql корявая, а я не умею её готовить.

    не всё полезно, что в swap полезло
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 15 марта 2015 г. 12:31, спустя 6 часов 32 минуты 25 секунд

    это не mysql корявая, это весна и авитаминоз

    ιιlllιlllι унц-унц

Пожалуйста, авторизуйтесь, чтобы написать комментарий!