@mysql_ru

Страница 122 из 142
Ruslan
18.01.2018
14:23:38
нужна помощь

| products | CREATE TABLE `products` ( `id_product` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) DEFAULT NULL, `id_catal` int(11) DEFAULT NULL, PRIMARY KEY (`id_product`), KEY `fk_catalog2` (`id_catal`), CONSTRAINT `fk_catalog2` FOREIGN KEY (`id_catal`) REFERENCES `catalogs` (`id_catalogs`) ON DELETE SET NULL ON UPDATE SET NULL, CONSTRAINT `fk_catalog` FOREIGN KEY (`id_catal`) REFERENCES `catalogs` (`id_catalogs`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `fk_catalog1` FOREIGN KEY (`id_catal`) REFERENCES `catalogs` (`id_catalogs`) ) ENGINE=InnoDB AUTO_INCREMENT=91 DEFAULT CHARSET=latin1 |

я правильно понимаю, что у меня внешний ключ табл. products связан через foreign key c colomn catalogs.id_catalogs

что вообще означает KEY

Google
Alexey
18.01.2018
15:43:59
аудит+гит+какая-нибудь красивая кнопочка "разлей" кастомная. Пока как-то так
а вот случайно попалось. ручная, тёплая, ламповая синхронизация, все как заказывал: https://dev.mysql.com/doc/workbench/en/wb-database-synchronization.html

Anton
18.01.2018
15:44:29
Воркбенч ещё жив?)))))

спасибо, сейчас полистаю.

Alexey
18.01.2018
15:45:49
да он ещё нас переживёт

Anton
18.01.2018
15:47:07
Не, не сложились у меня с ним отношения. Прямо с первого запуска на компе у одного из сотрудников не сложились... Дальше была выдана деректива это не подпускать к продакшну))))

https://www.devart.com/dbforge/mysql/schemacompare/features.html А по теме - вот есть аналог такой же, если кому интересно)))) Тоже делает дифф и создаёт скрипт синхрона

Alexey
18.01.2018
15:49:42
нет, я сам никогда не пользовал, но в курсе, что оно падучее. но вот постгрес сообщество почему-то считает его чуть ли ни единственным преимуществом mysql ?

видимо к ним часто приходят юзеры с вопросом "а где взять workbench под постгрес?"

Anton
18.01.2018
15:50:35
падучее - ещё куда не шло. Эта сволочь при соединении считывает метаданные по каждому объекту отдельным запросом. В итоге я от показаний заббикса по QPS чуть не поседел за минуту.

Alexey
18.01.2018
15:51:43
ну то такое

Andrey
18.01.2018
15:51:54
А мониторинг мускула в заббиксе все также через костыли настраивается? Или лучше стало?

Anton
18.01.2018
15:52:19
Если честно - не скажу, у нас специальные человечки это всё настраивали.

Andrey
18.01.2018
15:52:36
понял

Google
Alexey
18.01.2018
15:55:59
вот, нашёл этот дивный тредик: http://www.postgresql-archive.org/How-to-convince-people-to-choose-PostgreSQL-over-MySQL-td5965930.html

Anton
18.01.2018
16:00:11
вот, нашёл этот дивный тредик: http://www.postgresql-archive.org/How-to-convince-people-to-choose-PostgreSQL-over-MySQL-td5965930.html
Вот напоминает чатик сектантов, или только мне напоминает?

Alexey
18.01.2018
16:00:36
я уже два года говорю, что мне это всё секту напоминает

вот серьёзно, есть ещё примеры технических сообществ, где на сложных щщах вот такие темы обсуждают?

Anton
18.01.2018
16:01:43
Ну, это как веганы - мы решили, что это лучше, значит мы должны убедить всех))))

https://pmmdemo.percona.com/ не смотрели?
Насколько я помню, она не может полностью заменить заббикс в плане общей информации о сервере. Т.е. надо ставить две))))

Alexey
18.01.2018
16:02:49
"отлично себя чувствуем"

Andrey
18.01.2018
16:03:12
https://pmmdemo.percona.com/ не смотрели?
Смотрел, но не пробовал =)

Иван
18.01.2018
16:03:57
да две. заббикс для мониторинга а графану для визуализации

Anton
18.01.2018
16:04:36
Заббикс ещё и АПИ имеет. Что вообще крутяк?

но за PMM будущее, если ен забросят

Andrey
18.01.2018
16:05:20
PMM на том же хосте где и сервер должен крутиться?

Alexey
18.01.2018
16:06:47
если я правильно помню, там только маленький агент (prometheus exporter?) должен быть на том же хосте

всё остальное (сам prometheus + grafana) могут быть где угодно

Andrey
18.01.2018
16:07:31
Супер. Спасибо за информацию.

Иван
18.01.2018
16:09:28
http://play.grafana-zabbix.org/

Anton
18.01.2018
16:11:11
Это что ещё за котопёс?))))

Иван
18.01.2018
16:12:10
плагин для графаны высасывает из заббикса через api заббикса

Magic
18.01.2018
22:30:54
Графану люто плюсую

Google
Сергей
19.01.2018
10:59:11
ребят такой вопрос, не смог нагуглить. есть существующая таблица без primary key, в ней есть колонка timestamp (почти уникальная). Как мне добавить primary key так, чтобы он был упорядочен так же, как поле timestamp. Могу сделать это в цикле как в коде, так в базе. Но меня интересует, можно ли это сделать каким-то другим способом? Спасибо

lost
19.01.2018
11:16:01
set @inc = 0; update foo set inc = @inc:=@inc +1 order by dt

Хотя сокральный смысл этого порядка я не улавливаю

ну праймари, ну и буй с ним

какая разница какая циферка

Сергей
19.01.2018
11:21:16
Это удобно

Можно понимать свежая запись или нет

lost
19.01.2018
11:25:08
А его может просто не быть, гг

Alexey
19.01.2018
11:25:59
как это, как это

в качестве него может быть gen_clust_index, но есть всегда

lost
19.01.2018
11:26:19
Ну понятно что в иннодб он есть всегда

Я про то что ручками его никто не сделал

Alexey
19.01.2018
11:27:00
alter table t add id serial primary key добавит primary key отсортированный в порядке текущего clustered index

timestamp поле, как я понял, неуникально, поэтому оно явно не clustered index. значит там gen_clust_index

и в результате получим id отсортированный в порядке вставки. но может он и совпадает с порядком timestamp поля?

Сергей
19.01.2018
11:30:12
Да, должен совпадать

А на дампе тоже будет это работать?

Есть же не только прод, но куча тестовых сред

Alexey
19.01.2018
11:34:22
в дампе они будут в том порядке, в котором их select * вытянул. для innodb это clustered index всегда

Google
Alexey
19.01.2018
11:36:04
но я бы проверил что там с индексами. потому что если в таблице есть хотя бы один явный уникальный индекс, innodb будет его в качестве кластеризованного индекса использовать

проверить можно как-то так:

select i.* from information_schema.innodb_sys_indexes i join information_schema.innodb_sys_tables t on i.table_id = t.table_id where t.name='mydb/mytable'

у кластеризованного индекса в поле Type будет стоять 1

Сергей
19.01.2018
11:43:29
пустой результат. если убрать условия where, то будет 102 ряда, из них только один с type 1

там вообще индексов мало) ща хотя бы id везде добавить)

Alexey
19.01.2018
11:46:03
что-то не верю, что пустой результат. точно условие в where правильно написано? нужно именно в таком формате: t.name='dbname/tablename'

Сергей
19.01.2018
11:47:12
я без условия глазами результат просмотрел. нет такого и похожего ничего)

Alexey
19.01.2018
11:49:01
но глазами в том запросе имена таблицы и не увидеть, ну да ладно

можно просто на show create table посмотреть и убедиться, что уникальных индексов нет

Сергей
19.01.2018
11:49:31
поле name можно глазами просмотреть же

Alexey
19.01.2018
11:49:46
это index name, не table name

тогда уже добавить t.name

Сергей
19.01.2018
11:50:19
ой блять там есть primary key, но лучше бы я его не видел

это зашквар

Alexey
19.01.2018
11:50:30
хехе

Сергей
19.01.2018
11:50:54
спасибо) заюзаю цикл наверно и смени праймари

Alexey
19.01.2018
11:51:28
ну цикл не надо

lost
19.01.2018
11:51:51
Alexey
19.01.2018
11:51:58
создать пустую таблицу с нужной структурой. а потом insert into new_table select * from old_table order by ...;

Google
Alexey
19.01.2018
11:52:54
или как soul предлагает

или create table as select ... order by, а потом как я в самом начале предложил. много вариантов

и все примерно одинаковые по затратам

Сергей
19.01.2018
11:57:39
да, ваш вариант попробую, спасибо) таблицы небольшие

Vyacheslav
19.01.2018
17:34:58
Можно как то делая запрос SELECT * FROM tables исключить одну из колонок в этой выборке?

Jeep
19.01.2018
17:38:23
а что мешает перечислить все колонки, но не включать ту которую не нужно ?

Vyacheslav
19.01.2018
17:39:32
то, что этих колонок 54, и названия у них могут менятся

т.к. заказчик плавает

можно, конечно, пургем тянуть, sqlite, но тут и без этого веселье

Danil
19.01.2018
17:46:35
mysql> CREATE TEMPORARY TABLE temp_tb SELECT * FROM orig_tb; mysql> ALTER TABLE temp_tb DROP col_x; mysql> SELECT * FROM temp_tb;

Не мое , и как бы временная таблица (на больших данных будет не сверх быстро)- но сработает.

Есть еще несколько вариантов. Все так или иначе немного не "прямые". И брать юзать их на проде .. то еще удовольствие. (mysql select all columns except one - запрос для гугления)

Фёдор
21.01.2018
14:42:15
Всем доброго дня

Страница 122 из 142