Обновить
4K+
287
Антон Околелов@varanio

Go-тимлид, веду канал https://t.me/crossjoin

Отправить сообщение
Это не совсем то.
В приведенном мной примере «SELECT @x:= @x+1 FROM table» в результирующе выдаче в каждой новой строке будет новое число. В посгресе прямо в запросе (т.е. без циклов) этого вроде бы не сделать.
Да, с помощью костылей и синей изоленты можно сделать эмуляцию чего угодно. Вопрос только зачем? Если бы в mysql были какие-то по-настоящему уникальные полезные фичи, ради которых имело бы смысл так стараться, я еще мог бы понять.
Спасибо. Судя по описанию, pgloader охренеть какая штука, на будущее запишу себе на всякий случай.
Кстати, перед миграцией, я бы для начала поставил strict mode в mysql и погонял код на предмет ошибок
Если проект небольшой, то сможете перевести его на pg за день или два. Если будут вопросы — обращайтесь в личку, помогу чем смогу
> Цифры где?
Ну просто сферические тесты в вакууме приводить не хотел. Поэтому честно написал про субъективность. Хотя может в следующей статье… Кстати, какие бы тесты вы хотели бы видеть, чтобы они были наиболее объективны?

> тюнил ли автор MySQL и ОС
yes. Мы нанимали DBA для тюнинга и выжимали всё что могли. Пришлось перейти на postgres в основном из-за того, что репликация на наших объемах тупо не успевала. И баги были довольно странные (опять же, на малых объемах их может быть и не было бы). После перехода на постгрес с репликацией не было проблем вообще, ну может какие-то несущественные мелочи.

> а я ждал больше объективностей
Собственно, я честно пытался придумать, чем mysql может быть круче, и ожидал, что в коментах накидают много всего дополнительно. Но накидали как-то вяло, если честно.
я тоже пытался плюсануть карму и не смог. Пишите в песочницу, я вам плюсану после этого.
вообще, для серьёзного проекта надо нанять кого-то типа Ильи и его команды. Они посоветуют и по серверу, и по настройкам ОС, и по базе со всеми заморочками естественно, и скажут вам в невежливой форме, если вы пишете совсем неправильно код для работы с бд.
я не очень понимаю, при чем тут движки. Postgres не предлагает варианты с помощью движков, но он предлагает кучу видов индексов, не только b-tree (еще Hash, GiST, SP-GiST, GIN)
К примеру, для задачи, где нужно много записи и индексы занимают много места — в 9.5 вводят индекс нового типа BRIN. Почти бесплатен при записи, но хуже на чтении.
Кроме того, насколько я понимаю, в посгресе можно кластеризовать таблицу под конкретный индекс. Это то, что в innodb сделано для primary key
мне попадалась где-то на stackoverflow хранимка, которая выдает аналог show create table. Костыльно конечно, чо уж там.
Если мне нужна схема таблицы я обычно делаю pg_dump… --table mytable --schema-only
Дык писать дольше, чем \dt. Или просто проще запомнить?
Хотя вот нашел и в посгресе такое же
www.postgresql.org/docs/9.4/static/sql-cluster.html
т.е. таблицу можно кластеризовать под конкретный индекс
в innodb для pk используется кластеризованный индекс, я не очень разбираюсь, но там данные типа лежат упорядоченно так, чтобы именно по pk их быстрее было доставать. Вполне возможно, что мускуль здесь делает посгрес, хотя если данные уже в кеше, то должно быть примерно также всё
А если у вас много серверов с приложениями, которые коннектятся к одной базе?
Ну или когда юзаешь какое-нибудь php-fpm, то без pgbouncer не обойтись.
Спасибо!
А не могли бы вы написать подробный пост на эту тему? Очень интересно на самом деле.
Да, мы тоже стали без него обходиться. Иногда рядом создаем таблицу-справочник, чтобы в базе было понятно, что к чему.
насчет group by, вроде как в mysql 5.7 сделали такое же поведение по умолчанию
угу, есть еще c enum проблемы
12 ...
30

Информация

В рейтинге
Не участвует
Откуда
Praha, Hlavni Mesto Praha, Чехия
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, Фулстек разработчик
Ведущий