@mysql_ru

Страница 30 из 142
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, и что делать с представлением времени в текстовом виде

Jentram
22.06.2017
05:11:30


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

Андрюха (Ren)
22.06.2017
05:25:15
/voteban
кс 1.6 переиграл?

Ринат
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
Есть 10 небольших таблиц без PK и есть большая без PK
у тебя на реплике фуллскан таблицы

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
у тебя на реплике фуллскан таблицы
Почему из за фуллскана io thread гибнет?

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
Поставьте двойные или уберите совсем
?? Спасибо большое! Я потратил на это 2 часа

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 оформить?

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
Ты прав, помогает только вернуть систему в рабочее состояние до следующей подобной ситуации.

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