Mysql выгрузка дампа без данных
Следующая команда выгрузит дамп базы данных с триггреми, процедурами, таблицами НО! без данных в таблицах.
1 |
mysqldump --routines --no-data --no-create-db --skip-opt billing > onlytriggers.sql |
Жизнь замечательных грибов
Наработки и статьи по работе с Linux
Следующая команда выгрузит дамп базы данных с триггреми, процедурами, таблицами НО! без данных в таблицах.
1 |
mysqldump --routines --no-data --no-create-db --skip-opt billing > onlytriggers.sql |
1 |
find -type f -exec rename 'y/A-Z/a-z/' {} \; |
Вот этот вариант коректно поддерживает кирилицу:
1 |
find ./ -type f | awk '{ print $1 " " tolower($1) }' | xargs -L 1 mv |
1) Использование DISTINCT работает быстрее чем group by
Было:
1 |
select requestid from request_posts where requestid in (select id from requests where created_on between '2016-09-01 00:00:00' and '2016-09-30 23:59:59' and classid<>13) and author_id in (5) group by requestid; |
Стало:
1 |
select DISTINCT(requestid) from request_posts where requestid in (select id from requests where created_on between '2016-09-01 00:00:00' and '2016-09-30 23:59:59' and classid<>13) and author_id in (5) |
2) IN в запросах работает медленно. Очень медленно! Лучше вместо IN, использовать JOIN
Было:
1 |
select * from requests where id in (select (requestid) from request_posts where requestid in (select id from requests where created_on between '2016-09-01 00:00:00' and '2016-09-30 23:59:59' and classid<>13) and author_id in (5) ); |
Выполняется 50 секунд
Стало:
1 |
select * from requests inner join (select DISTINCT(requestid) from request_posts where requestid in (select id from requests where created_on between '2016-09-01 00:00:00' and '2016-09-30 23:59:59' and classid<>13) and author_id in (5)) as zx on zx.requestid=requests.id; |
Выполняется 0.23 секуны
Создано на основе публикации: https://habrahabr.ru/company/first/blog/310164/
dstat — показывает текущую нагрузку на сеть и жесткий диск
strace — показывает все системные вызовы выполняемые программой. Например:
1 |
strace php script.php |
opensnoop, execsnoop, eBFP — показывает в реальном времени файлы открываемые программой. Например:
1 |
opensnoop -p 2016 |
— покажет открытые файлы процессом с PID 2016
netcat — позволяет из консоли выполнять сетевые запросы.
netstat — просмотр «занятых » сетевых портов
ngrep — просмотр сетевого трафика. Например:
1 |
ngrep -d any yandex |
tcpdump — то-же просмотр сетевого трафика с более широкими возможностями.
wireshark — просмотр трафика с gui
perf — просмотр, чем занимается процессор. Например:
1 2 3 |
perf record php -записываем что делает php затем смотрим: prefreport |
Первое число текущего месяца:
1 |
DATE_SUB(now(),INTERVAL DAYOFMONTH(now())-1 DAY) AS 'month_create' |
Первое число следующего месяца:
1 |
date_add(DATE_SUB(now(),INTERVAL DAYOFMONTH(now())-1 DAY),interval 1 month) AS 'month_pay' |
Последний день месяца следующего месяца:
1 |
date_add(date_add(DATE_SUB(now(),INTERVAL DAYOFMONTH(now())-1 DAY),interval 2 month),interval -1 day) AS 'month_free' |