@mysql_ru

Страница 28 из 142
Alexander
19.06.2017
12:11:29
или руками стартануть mysqld

Bocharnikov
19.06.2017
12:11:55
вот руками я и стратую

ну погоди

щя

Google
Alexey
19.06.2017
12:17:43
для этого существует build number
есть релиз, у которого есть статус (alpha, beta, release candidate, general availability), есть уникальный номер, по номеру можно получить раздел в документации со списком изменений. ты на каждый билд намбер и git hash собрался раздел в документации писать?

Fike
19.06.2017
12:24:52
ох

есть список фич к релизу

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

после этого идут только баг фиксы к этим фичам

после того, как на кандидат нет жалоб, он просто промоутится до релиза

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

и вот тогда в поддержке действительно будет ад

Alexey
19.06.2017
12:30:47
а серьёзно, сколько тебе лет и кем ты работаешь? вот если так, честно. судя по юношескому задору, не больше 25-ти, а судя по экспертным познаниям во всех областях — админ Вася в "Пупкин Телеком". ты бы сказал, я бы просто перестал время тратить

Fike
19.06.2017
12:31:07
ахаха

давайте все сведем к возрасту

26

Ринат
19.06.2017
12:31:24
старый(

Google
Ринат
19.06.2017
12:31:26
как и все мы

Fike
19.06.2017
12:32:29
И вообще я разраб. Жаба, жвм, стримы.

Alexey
19.06.2017
12:32:40
я понял. спасибо

Ivan
20.06.2017
09:44:18
Привет! Сорри, что не совсем в тему канала :) 14-го июля в Питере проводим конференцию по мониторингу. Приглашаем всех желающих :) Если есть желание выступить с докладом - будем рады видеть, места еще есть! :) Регистрация тут: https://rossinno.timepad.ru/event/510831/ или тут: https://www.meetup.com/Big-Monitoring-Meetup/events/240837973/ Вопросы по участию или выступлению - через личные сообщения :)

Danil
21.06.2017
12:02:10
Всем привет! Есть БД пополняемая новыми записями каждые пол часа. Есть софт, который делает выборку из базы каждые 5-10 минут для сбора и отображения статистики за последние сутки от текущего времени с разбивкой по часам. Можно ли сделать представление (view) с привязкой к текущему времени?

Смысл в том, чтобы перенести вычисления и формирование статистики на сервер БД т. к. софт генерит кучу запросов каждый раз и подыисает, пока БД отдаст все данные

можно ли в запросе использовать переменную с текущим временем сервера для формирования представления?

r
21.06.2017
12:19:35
Не совсем понятно, дай запрос, который во вью будет и покажи где нужно использовать время сервера

Danil
21.06.2017
12:24:41
короче, попробую объяснить ещё раз. сразу говорю я не профи в БД. есть база в которую в несколько таблиц подгружаются данные скриптами каждые полчаса. ест софтина которая тянет выборки данных за последние сутки с разбивкой по часу. обновляются эти данные каждые 5 минут. т. е. каждые 5 минут имеем кучу запросов: по 24 на каждый элемент статистики, и таких элементов порядка 200.

r
21.06.2017
12:26:11
Т.е. есть желание использовать вью для агрегации данных и тащить оттуда?

Danil
21.06.2017
12:26:12
Я нашел что в мускуле есть представления - типа временных таблиц. Хочется на стороне сервера создать такие представления чтобы забирать всю статистику несколькими запросами. Только загвоздка в привязке к текущему моменту

r
21.06.2017
12:26:59
Т.е. я так понимаю, что нужно приходить во вью и получать из неё данные ,допустим за последний час. Правильно?

Danil
21.06.2017
12:27:39
да есть, и есть еще таймстемп для каждой записи, но важнее привязка к именно дэйттайм

Т.е. я так понимаю, что нужно приходить во вью и получать из неё данные ,допустим за последний час. Правильно?
в идеале во вью должны быть данные за последние 24 часа от сейчас с разбивкой по часу

пока нашел только, что вью обновляется по факту запроса и не ясно как привязатся к текущему времени

r
21.06.2017
12:29:25
в идеале во вью должны быть данные за последние 24 часа от сейчас с разбивкой по часу
Ясно. Не думаю, что не возможно. Скинь структуру нескольких таблиц, попробую помочь

Danil
21.06.2017
12:29:39
в самом софте весьма замороченная математика с датой и временем для этого

сейчас к сожалению не могу скинуть т. к. с телефона.

Google
r
21.06.2017
12:31:09
Самый простой способ получать данные за последние 24 часа примерно такой: SELECT * FROM table_view WHERE create_time BETWEEN NOW() AND NOW()-INTERVAL 24 HOUR;

Danil
21.06.2017
12:31:35
а могут помочь события или планировщик формировать таблицы за каждый час и потом сделать их объединение во вью?

r
21.06.2017
12:33:56
ого, уже хорошо! а как оно в плане учета минут/секунд?
Мы используем вот такое поле для регистрации времени записи

`insert_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP

а нужно по часаМ?

Danil
21.06.2017
12:35:24
есть такое и у меня, но проблема в том, что данные собираются постфактум из внешних источников и имеют в своем составе поле дэйттайм когда реально был результат. и привязываться надо именно к нему.

r
21.06.2017
12:35:56
ща проверю, но думаю все должно быть нормально

Danil
21.06.2017
12:36:08
т. е. есть поля типа: id, name, type, result1, result1, starttime, endtime, timestamp

нужно группировать по name и учитывать как starttime так и endtime

r
21.06.2017
12:36:51
Самый простой способ получать данные за последние 24 часа примерно такой: SELECT * FROM table_view WHERE create_time BETWEEN NOW() AND NOW()-INTERVAL 24 HOUR;
Тут я ошибся немного. Правильно вот так: SELECT * FROM table_view WHERE create_time BETWEEN NOW()-INTERVAL 24 HOUR AND NOW();

Danil
21.06.2017
12:38:20
для результата либа sum либо count либо max

r
21.06.2017
12:38:47
ща проверю, но думаю все должно быть нормально
Подтверждаю, работает и для полей типа datetime

нужно группировать по name и учитывать как starttime так и endtime
тут нужно больше подроьностей и примерный результирующий вид

тогда попробую помочь

на первый взгляд трудностей не должно быть

по крайней мере по условие - за последние 24 часа

Danil
21.06.2017
12:49:01
например есть набор записей с одинаковым полем name, starttime и endtime произвольные. нужно выбирать сумму или количество по полю result за каждый час с (х):00:00 по (х+1):00:00 за период сейчас-24 час до сейчас

геморой именно в отсечке по часу и привязке к 0 минут 0 секунд.

Google
Danil
21.06.2017
12:50:31
в поинципе можно привязываться именно к starttime

результат нужен в виде таблицы: период(час) /результат за период

r
21.06.2017
12:53:35
понял

Danil
21.06.2017
12:56:20
читаю про функции времени мускула - есть функция HOUR вроде она должна возвращать количество часов и есть EXTRACT которая выдает из дэйттайм год/месяц/день/час/минуту/секунду

r
21.06.2017
12:56:39
Примерно вот так мы вибираем записи за неделю -- Понедельник прошлой недели SET @_from_date = STR_TO_DATE(DATE_FORMAT(CURDATE() - INTERVAL 1 WEEK - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY, '%Y-%m-%d 00:00:00'), '%Y-%m-%d %H:%i:%s'); # по -- Воскресенье прошлой недели SET @_to_date = STR_TO_DATE(DATE_FORMAT(CURDATE() - INTERVAL 1 WEEK - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY + INTERVAL 6 DAY, '%Y-%m-%d 23:59:59'), '%Y-%m-%d %H:%i:%s');

Danil
21.06.2017
12:56:49
только я вот думаю, а не загнется ли сервер от таких запросов?

r
21.06.2017
12:56:52
лучше глядеть на это в одну строку

)

соответственно условие имеет вид: WHERE datetime BETWEEN @_from_date AND @_to_date

Danil
21.06.2017
12:59:03
соответственно условие имеет вид: WHERE datetime BETWEEN @_from_date AND @_to_date
ну такие запросы у меня есть уже в софте - формируются для каждого часа пачками. Вся магия в подсчёте from_daye и end_date

а как можно сравнить нагрузку на сервер между кучей простых запросов и таким замороченным вью? может оно того и не стоит?

r
21.06.2017
13:00:44
смотрите показатели LA

утилизацию процессора, озу

чтение с дисков

собственно все

Danil
21.06.2017
13:01:18
смотрите показатели LA
можно для тупых, я пользуюсь phpmyadmin - куда смотреть?

или смотреть в тор на машине?

r
21.06.2017
13:01:46
linux?

Danil
21.06.2017
13:02:03
да ubuntu server lts

r
21.06.2017
13:02:07
htop

Google
r
21.06.2017
13:02:14
будет понятнее

Danil
21.06.2017
13:02:32
ок

а можно собрать вью из других вью?

и как они будут тогда обновляться?

r
21.06.2017
13:03:03
iostat -xt 1 для диска

iostat - Report Central Processing Unit (CPU) statistics and input/output statistics for devices, partitions and network filesystems (NFS).

вью не хранит данные

при обращении ко вью (только SELECT)

выполняются те запросы, которые вы туда накидаете

Danil
21.06.2017
13:05:10
это я вроде понял. я имел в виду сделать кучу вью на каждый час суток от сейчас и собрать их в сводный суточный вью чтобы забирать все одним запросом

вложенность вью допускается?

lost
21.06.2017
13:06:14
а что мешает вместо вью сделать хранимую процедуру и привязаться ко времени?

Danil
21.06.2017
13:07:28
а что мешает вместо вью сделать хранимую процедуру и привязаться ко времени?
я вообще не против. просто про хранимые процедуры не в курсе

lost
21.06.2017
13:07:48
это не сложнее представления, нисколечка

Danil
21.06.2017
13:08:33
можете хоть простой пример дать для понимания?

я так понял что хранимые процедуры это удобные обертки для sql запросов

lost
21.06.2017
13:11:24
можно и во вьюхе сделать привязку к последним 24 часам, но тогда придется тянуть лишние данные

Danil
21.06.2017
13:11:53
ну можно ещё собрать в процедуру несколько запросов как я понял

lost
21.06.2017
13:13:12
можно

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