@mysql_ru

Страница 119 из 142
Alexey
12.01.2018
11:28:50
ясен красен

Google
Alexey
12.01.2018
11:31:48
шиза какая

Woice
12.01.2018
11:32:34
еррор 13 - это пермишн денайд...

Кому-то знакомо где я туплю конкретно? )

Alexey
12.01.2018
12:13:39
Кому-то знакомо где я туплю конкретно? )
а это скорее apparmor или selinux, которые сконфигурированы, чтобы mysqld имел доступ только к ограниченным директориям. и /home/mysqltmp в этот список очевидно не входит

можно настроить apparmor/selinux, или вообще их отключить, если security не важна

а можно попробовать симлинк в /tmp/mysqltmp на /home/mysqltmp

но повторю, это всё затыкание дыр. временные таблицы на 4G — так себе идея в любом случае. особенно на слабенькой машинке, как я понимаю

Tipok
14.01.2018
13:38:26
Привет всем, есть поле VARCHAR в таблице, которое содержит id через запятую: Example: 45,56,78, Нужно произвести поиск по таблице, у меня есть массив [45,69], который указал пользователь при поиске. Подскажете как составить запрос, чтобы он учитывал этот массив и выдал в итоге подходящие результаты

Tipok
14.01.2018
13:48:39
where field_name like "%45%" OR field_name like "%69%" ?
если будет в базе 456,670,75, - то под ваш запрос это тоже проходит

Woice
14.01.2018
13:49:22
если будет в базе 456,670,75, - то под ваш запрос это тоже проходит
если у вас формат записи "id," - с запятой, то добавьте её

Google
Woice
14.01.2018
13:50:33
Tipok
14.01.2018
13:50:36
where field_name like "%45,%" OR field_name like "%69,%"
тогда при поиске по id=5 "45,%" - проходит

а с двух сторон тогда первое значение из строкине подойдет

сработает, если формат будет: ,56,67,9,9,

и поиск делать с двумя запятыми, спасибо

а вы про тип поля енум слышали?
я не бекендер, конечно слышал, но база не моя и переделывать мне лень

Woice
14.01.2018
13:52:32
сработает, если формат будет: ,56,67,9,9,
ну формат, как раз и нужен для поиска )

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

Dmitry
15.01.2018
07:14:44
Добрый день! Есть у кого опыт активации jemalloc на percona server 5.7.20 ? В оф. источниках написанно, что нужно просто установить и перезапустить сервер. Гуд, так и сделано, но при проверке получаем "#pt-mysql-summary | grep -A5 -i "memory management" # Memory management library ################################## jemalloc is not enabled in MySQL config for process with ID 1997 # The End####################################" Пробовал прописать в my.cnf "malloc-lib = /usr/lib64/libjemalloc.so.1" Не заработало. Может кто подсказать что не так и куда копать?

Alex
15.01.2018
07:26:49
по идее просто надо в LD_PRELOAD добавить jemalloc

Dmitry
15.01.2018
08:08:28
я темнота, чет никак вникнуть не могу. Что такое LD_PRELOAD я уже проситал, но вот как с помощью LD_PRELOAD осилить jemalloc, пока нет.

Alex
15.01.2018
08:09:44
LD_PRELOAD="/usr/lib/блабла/libjemalloc.so" mysqld

типа того

Dmitry
15.01.2018
08:26:38
хм.... и ничего. Результат тотже

Alex
15.01.2018
10:23:55
а как проверяешь?

Dmitry
15.01.2018
13:12:58
pt-mysql-summary | grep -A5 -i "memory management

стоит Percona Toolkit

Pavel
15.01.2018
16:01:45
Кто знает, как найти в json поле все пути с заданным ключом?

Нужно найти $.someKey[*].foo и удалить его

Из всех объектов массива someKey выпилить ключ foo

Google
lost
15.01.2018
17:28:33
Кто знает, как найти в json поле все пути с заданным ключом?
json_keys с заданным path сформирует массив путей, дальше удаляешь в цикле

по-другому наверное никак...

Pavel
15.01.2018
17:30:15
Да я уже сделал по аналогии, всего за 241 элегантный запрос удаляю нужные ключи.

Люблю json в базе ❤

lost
15.01.2018
17:30:42
элегантно.

)

обманул, json_keys не поможет(

есть json_search, но он работает только со строковыми представлениями, и если у тебя json сохранен бинарем а не строкой - найдет не все есть json_contains_path, но это тоже цикл будет

грусть в общем

Pavel
15.01.2018
17:35:17
Непонятно почему не работает * в json_remove, почему-то отключили такую возможность.

lost
15.01.2018
18:21:47
видимо потому что это потенциальный способ выстрелить себе в колено

если мне не изменяет память - в функцию можно передать n путей, но без звездочек в пути

ad1
16.01.2018
09:22:37
Добрый день. Подскажите, пожалуйста, есть таблица , которую почиистил, но место на диске не освободилось.(Все ок согласно документации) В дальнейшем когда таблица будет заполнятся будет ли увеличиваться объем используемого места на диске или будет использоваться из освожденного? Спасибо.

Alexander
16.01.2018
11:03:41
сначала будет использовано уже распределённое место, т.е. размер файла первоначально расти не будет. (место на диске после удаления данных из таблицы не освобождается само. можно попробовать optimize table (myisam) либо любой alter table (innodb))

ad1
16.01.2018
11:56:26
Да, спасибо!

Aleksandr
16.01.2018
14:50:17
а подскажите как работает индекс в случае с сортировкой к пример есть запрос select A, B, C from table where A = 20 and B = 10 order by C к примеру, если я сделаю индекс (B, A) то он будет работать оптимальнее (колонка B существенно сужает дальнейшую выборку) а вот как в составном индексе работает сортировка - не понимаю, то есть если я сделаю индекс с очередностью B, A, C будет ли это верным решением?

Bova
16.01.2018
14:58:24
проверяйте через explain

сделайте 2 индекса, и смотрите через EXPLAIN какой выгоднее

Заодно подскажите мне, почему в slow.log я постоянно наблюдаю один и тот же запрос. разве он не должен попадать в кеш запросов?

Nafania
16.01.2018
15:03:41
Заодно подскажите мне, почему в slow.log я постоянно наблюдаю один и тот же запрос. разве он не должен попадать в кеш запросов?
зависит от того, какой запрос, возможно просто логгируются все запросы, которые не юзают индекс, то есть стоит log_queries_not_using_indexes = true

Google
Bova
16.01.2018
15:04:07
Query_time: 3.811641 Lock_time: 0.000059 Rows_sent: 8357 Rows_examined: 2381048

он явно по времени выполнения попадает в лог

Nafania
16.01.2018
15:05:06
ну значит он медленный ?

Bova
16.01.2018
15:05:10
ну и сам запрос: SELECT feature_value_id, COUNT(*) FROM shop_product_features pf JOIN shop_product p ON pf.product_id = p.id WHERE pf.feature_id = 4 AND pf.sku_id IS NULL AND p.status = 1 GROUP BY pf.feature_value_id;

Nafania
16.01.2018
15:05:47
ну как выше сказал - смотри EXPLAIN

профилируй

Bova
16.01.2018
15:06:07
я уже и так, и сяк смотрел, все-равно долго получается

даже просто SELECT feature_value_id FROM shop_product_features WHERE feature_id = 4; перебирает кучу строк

запостил ниже картинкой

почему он перебрал 1771760 строк, если их всего 1006617 нужных?

Aleksandr
16.01.2018
15:09:03
то есть третий ключ в индексе все-равно будет отрабатывать, несмотря на очерденость?

Bova
16.01.2018
15:09:12


lost
16.01.2018
15:09:54
Aleksandr
16.01.2018
15:10:08
понятно, спасибо

Nafania
16.01.2018
15:12:39
индекс в память влезает? что профилирование говорит?

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