
Danil
21.06.2017
15:48:16
ну вот у меня на реальных данных нет 0 результатов за некоторые периоды для которых нет записей в базе. а мне надо получать 0 для таких периодов
могу только фото скинуть сюда

lost
21.06.2017
15:49:06
а, то есть у тебя за определенные временные интервалы нет данных верно?

Aleksandr
21.06.2017
15:49:23
сформируй сперва интервалы, а потом к ним джойни данные

Google

Danil
21.06.2017
15:49:33

lost
21.06.2017
15:52:10
то есть за некоторые часы в пределах суток у тебя может не быть данных верно?

Danil
21.06.2017
15:52:16
вот тут результатов нет для периода 13:00~13:59 для других "программ" (name)

lost
21.06.2017
15:53:00
и да, coalesce там пригодится )

Danil
21.06.2017
15:54:01
если бы я ещё понял что он имел в виду (

lost
21.06.2017
15:54:21
условно, тебе нужна таблица с временными интервалами
в интервале now() - interval 24 hour and now()
т.е. нужна таблица, в которой будет 24 строки

Danil
21.06.2017
15:57:23
так и сейчас если выбрать по конкретному name я получу 24 строки. только строк с результатом 0 по-прежнему не будет?

Google

lost
21.06.2017
15:58:25
я ничего не понял

Danil
21.06.2017
16:00:51
ну я взял твой запрос и добавил в WHERE name LIKE 'xxx%'. в этой таблице по прежнему нет строк с 0 если данных нет даже с COALESCE
или надо сделать вообще другую таблицу?

lost
21.06.2017
16:01:21
сделай отдельную таблицу
заведи в ней записи с первичными ключами от 1 до 24
и приджойни к ней с помощью LEFT JOIN свой подзапрос
этот способ будет работать, если ты будешь выбирать для конкретного name

Danil
21.06.2017
16:02:53
а вот тут уже я нифига не понял. пойду гуглить про JOIN LEFT
и что я получу в итоге если запрос по конкретному name тоже дает пропуски для отсутствующих данных?
или там будет NULL?

lost
21.06.2017
16:04:30
там будет null
погугли про join
когда поймешь как работает - станет понятно

Danil
21.06.2017
16:04:55
и его потом через COALESCE менять на 0?

lost
21.06.2017
16:04:59
типа того

Danil
21.06.2017
16:05:28
ппц, а всё так хорошо начиналось.

lost
21.06.2017
16:05:40
это все mysql

Danil
21.06.2017
16:52:44
не получается нифига с LEFT OUTER JOINT. в примерах нужно давать поля в таблицах по которым идет джоин а что я могу сравнить? мне нужно результат запроса по периодам тоже иметь в виде таблицы тогда?

lost
21.06.2017
17:02:10
select * from foo f left join (твой запрос) a ON f.id = a.hour

Danil
21.06.2017
17:14:16
это я примерно понял. но у меня a.hour ни разу не по порядку же идёт. Т. е. мне потом нужно это как то все сортировать по времени которое записано как текст да ещё и интервалом ((

Google

Danil
21.06.2017
19:06:15
ок. джоин сработал. осталось понять как мне с этого джоина получить финальный результат с 0 вместо NULL, и что делать с представлением времени в текстовом виде

Aleksandr
22.06.2017
02:54:10

Jentram
22.06.2017
05:11:30

Ринат
22.06.2017
05:19:44
/voteban

Андрюха (Ren)
22.06.2017
05:25:15

Ринат
22.06.2017
05:42:03
вообще не любитель
но что этих даунов не банят по чатам кидающим ссылку-хз
видимо надо помочь определённым службам помочь ребятам

Андрюха (Ren)
22.06.2017
05:44:28
"кладмэны" как себя ни назови, суть та же.

Ринат
22.06.2017
06:02:35
Нормализую таблицу. Хочу вывести повторяещиеся поля в отдельную таблицу, в текущей таблицы соответсвенно хранить id шник
записей очень много (300 млн). По сути лог
как лучше реализовать момент. Читам строку, берём данные (например имя домена), и если он уже пристуствует в новой табличке с доменами-то вставляем в результирующу его id. Если нет-вставляем запись, возвращаем id и вставляем так же в таблицу.

Pavel
22.06.2017
08:13:04
Всем привет. Кто нибудь сталкивался со следующей неполадкой: в асинхроннойrow based репликации io thread перестает работать когда увеличиваем workload на максимум. Встатусе все Yes а позиция на слэйве не продвигается, позтцтя на мастере продвигается. Stop slave io_thread а потом старт возвращают репликацию. Грешу на сеть, пока что sysadmin'ы проверяют. Есть у кого нибудь другие варианты?

lost
22.06.2017
08:15:25
привет, среди того что реплицируешь есть толстые таблицы без первичного ключа?

Pavel
22.06.2017
08:27:05
Есть 10 небольших таблиц без PK и есть большая без PK

Julia
22.06.2017
09:06:44
#москва #бд #субд #удаленка #офис
Работа до осени на удаленке, с перспективой в офис
Ищем опытного инженера баз данных в команду. Работа над созданием интересного решения в области аналитики с нуля.
http://constssk.ru
зп до 180к
Что надо делать:
Проектирование структуры БД
Документирование, составление диаграмм связей
Написание SQL запросов
Оптимизация работы БД
Кластеризация работы СУБД
От Вас:
Опыт работы с pgsql большим набором данных
Знание PL/pgSQL
Умеете построить ETL-процесс в крупных хранилищах данных
Можете строить модели данных и оптимизировать запросы в PostgreSQL
Знание Python3, как плюс
Также плюсом будет знания и опыт работы с NoSQL (Clickhouse)
Контакт: в лс пожалуйста

lost
22.06.2017
09:55:26

rocknrolla
22.06.2017
09:55:33
Ребята привет.
может кто нибудь подсказать.как заменить в столбце запись
<!--dle_image_begin:http://ЭТОТ ДОМЕН/uploads/posts/2015-05/7nmjfnh1x0.jpg||Чистилище--><img src="http://ЭТОТ ДОМЕН/uploads/posts/2015-05/7nmjfnh1x0.jpg" alt="Чистилище" title="Чистилище" /><!--dle_image_end--></div>

Google

rocknrolla
22.06.2017
09:56:12
есть 22к таких записей
нужно ЭТОТ ДОМЕН заменить на другой.
UPDATE table SET column = REPLACE( column, 'search', 'replace' ) ;
подойдет?


Bocharnikov
22.06.2017
09:59:10
ребята можно вопрос, возможно тупой, это нормально для человека который не знает.
это нормальный рестарт мариидб?
170622 15:56:01 [Note] /usr/sbin/mysqld: Normal shutdown
170622 15:56:01 [Note] Event Scheduler: Killing the scheduler thread, thread id 1
170622 15:56:01 [Note] Event Scheduler: Waiting for the scheduler thread to reply
170622 15:56:01 [Note] Event Scheduler: Stopped
170622 15:56:01 [Note] Event Scheduler: Purging the queue. 0 events
170622 15:56:02 InnoDB: Starting shutdown...
170622 15:56:02 InnoDB: Waiting for 15 pages to be flushed
170622 15:56:05 InnoDB: Shutdown completed; log sequence number 398659931921
170622 15:56:05 [Note] /usr/sbin/mysqld: Shutdown complete
170622 15:56:05 mysqld_safe mysqld from pid file /var/lib/mysql/na.pid ended
170622 15:56:06 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
170622 15:56:06 [Note] /usr/sbin/mysqld (mysqld 5.5.53-MariaDB) starting as process 1015 ...
170622 15:56:06 InnoDB: The InnoDB memory heap is disabled
170622 15:56:06 InnoDB: Mutexes and rw_locks use GCC atomic builtins
170622 15:56:06 InnoDB: Compressed tables use zlib 1.2.3
170622 15:56:06 InnoDB: Using Linux native AIO
170622 15:56:06 InnoDB: Initializing buffer pool, size = 2.0G
170622 15:56:06 InnoDB: Completed initialization of buffer pool
170622 15:56:06 InnoDB: highest supported file format is Barracuda.
170622 15:56:07 InnoDB: Waiting for the background threads to start
170622 15:56:08 Percona XtraDB (http://www.percona.com) 5.5.52-MariaDB-38.3 started; log sequence number 398659931921
170622 15:56:08 [Note] Plugin 'FEEDBACK' is disabled.
170622 15:56:08 [Note] Server socket created on IP: '0.0.0.0'.
170622 15:56:08 [Note] Event Scheduler: Loaded 0 events
170622 15:56:08 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.5.53-MariaDB' socket: '/var/lib/mysql/mysql.sock' port: 3306 MariaDB Server
170622 15:56:08 [Note] Event Scheduler: scheduler thread started with id 1


Pavel
22.06.2017
10:04:53

lost
22.06.2017
10:05:13
он не гибнет, он пытается отыскать строку в таблице
поиск в row формате идет в приоритете: праймари, индекс, фуллскан
варианта два: либо добавить праймари, либо передать в statement

Pavel
22.06.2017
10:07:45

Valijon
22.06.2017
10:15:26
Добрый день
Можете помочь найти ошибку

Аггей
22.06.2017
10:18:39
одинарные кавычки 'demo_img_sales'
Говорят, что это значение, а не таблица
Поставьте двойные или уберите совсем

Valijon
22.06.2017
10:26:53

Gabit
22.06.2017
17:14:15
Всем привет, помогите с запросом. Есть таблица "услуги" у услуг есть условно рейтинг -нравится/не нравится. Надо вытащить услуги у кого больше рейтинга в час. Рейтинг это integer, время создания услуги created_time
То есть нравится +1, не нравится -1 к рейтингу

Google

Gabit
22.06.2017
17:15:34
То есть отсортировать по рейтингу/время существования
Например если услуга существует 10 часов и у нее 100 рейтинга она будет ниже чем услуга которую создали час назад с рейтингом 50

Fike
22.06.2017
17:20:56
Агрегировать рейтинг по услуге, поделить на интервал в часах с создания, в чем проблема?

Gabit
22.06.2017
17:21:24
Я в запросах не сильно шарю просто
Все вроде бы решил вопрос, спасибо

Ruslan
22.06.2017
17:56:58
Всем примет, хотел посоветоваться
Centos 7, Percona-Server-server-57-5.7.17
innodb_buffer_pool_size 2G
При это местами mysql просто встает колом в D.
InnoDB: Warning: difficult to find free blocks from the buffer pool (38861 search iterations)! Consider increasing the buffer pool size.
Дальше, конечно INNODB MONITOR OUTPUT.
Нагрузки в этот момент на диске практически нет.
У меня вот вопрос, связана ли моя проблема:
kernel: INFO: task mysqld:4172 blocked for more than 120 seconds.
kernel: mysqld D 0 4172 1
C innodb_buffer_pool_size ? Или это только следствие проблемы уровнем выше?
И еще такой вопрос, есть у кого доступ к https://bugs.mysql.com/bug.php?id=86552 можно в pdf оформить?

Alexey
22.06.2017
18:13:09


Ruslan
22.06.2017
18:19:28
А что показывает show status like 'Innodb_buffer_pool_pages%';?
В нормальной работе (уже после перезагрузки)
+-----------------------------------------+----------+
| Variable_name | Value |
+-----------------------------------------+----------+
| Innodb_buffer_pool_pages_data | 181302 |
| Innodb_buffer_pool_pages_dirty | 16940 |
| Innodb_buffer_pool_pages_flushed | 689838 |
| Innodb_buffer_pool_pages_free | 2052 |
| Innodb_buffer_pool_pages_LRU_flushed | 0 |
| Innodb_buffer_pool_pages_made_not_young | 19451883 |
| Innodb_buffer_pool_pages_made_young | 266503 |
| Innodb_buffer_pool_pages_misc | 13230 |
| Innodb_buffer_pool_pages_old | 66762 |
| Innodb_buffer_pool_pages_total | 196584 |
+-----------------------------------------+----------+
На момент проблемы у меня есть пока только статистика от INNODB MONITOR.
BUFFER POOL AND MEMORY
----------------------
Total large memory allocated 2235564032
Dictionary memory allocated 197956188
Internal hash tables (constant factor + variable factor)
Adaptive hash index 105020864 #011(35404352 + 69616512)
Page hash 277384 (buffer pool 0 only)
Dictionary cache 206807276 #011(8851088 + 197956188)
File system 7772784 #011(812272 + 6960512)
Lock system 5363400 #011(5313416 + 49984)
Recovery system 0 #011(0 + 0)
Buffer pool size 131056
Buffer pool size, bytes 0
Free buffers 1792
Database pages 125017
Old database pages 46024
Modified db pages 11183
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 1918023, not young 980893806
4.21 youngs/s, 3887.73 non-youngs/s
Pages read 2535392, created 3301950, written 4208600
31.57 reads/s, 7.09 creates/s, 1.83 writes/s
Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 35 / 1000
Pages read ahead 6.62/s, evicted without access 0.00/s, Random read ahead 0.00/s
LRU len: 125017, unzip_LRU len: 0
I/O sum[11040]:cur[0], unzip sum[0]:cur[0]


Alexey
22.06.2017
18:26:10
ну какая-то нагрузка на запись есть. я думаю нужно копать в сторону kernel: mysqld D 0 4172 1. Это почти гарантированно проблемы с железом, если mysqld залипает в D стейте на 120 секунд
а сообщение в error log — это просто следствие того, что пытаемся освободить место в buffer pool под новые страницы, сбросив старые, но не можем
в dmesg ничего интересного?


Ruslan
22.06.2017
18:30:36
Да в целом все о том же, ждет fsync
INFO: task mysqld:4174 blocked for more than 120 seconds.
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
mysqld D ffff880077703e80 0 4174 1 0x00000080
ffff880077703e38 0000000000000082 ffff88046e5ebec0 ffff880077703fd8
ffff880077703fd8 ffff880077703fd8 ffff88046e5ebec0 ffff88086726b800
0000000000057f8c ffff88086726b890 ffff88086726b828 ffff880077703e80
Call Trace:
[<ffffffff8168c739>] schedule+0x29/0x70
[<ffffffffa01ab875>] jbd2_log_wait_commit+0xc5/0x140 [jbd2]
[<ffffffff810b1b20>] ? wake_up_atomic_t+0x30/0x30
[<ffffffffa01ae802>] jbd2_complete_transaction+0x52/0xa0 [jbd2]
[<ffffffffa02a8d92>] ext4_sync_file+0x292/0x320 [ext4]
[<ffffffff81230615>] do_fsync+0x65/0xa0
[<ffffffff812308e0>] SyS_fsync+0x10/0x20
[<ffffffff81697749>] system_call_fastpath+0x16/0x1b

Alexey
22.06.2017
18:32:56
это точно проблема с диском. ну или ядром/драйверами. прогоните какой-нибудь файловый бенчмарк

Ruslan
22.06.2017
18:33:36
Просто наблюдаю на нескольких инсталяциях. И платформы, и SSD везде разные. К программной проблеме склоняюсь.

Alexey
22.06.2017
18:34:28
тогда что-то с ядром или драйверами. нет таких действий, которое приложение могло бы сделать, чтобы вогнать ядро вот в такое ^ состояние

Ruslan
22.06.2017
18:36:49
Еще добавлю, что проблема решается перезапуском муськи.

Alexey
22.06.2017
18:37:19
решается или маскируется? :)

Ruslan
22.06.2017
18:38:26
Ты прав, помогает только вернуть систему в рабочее состояние до следующей подобной ситуации.