Есть таблица, в ней 12 миллионов записей. При любой выборке(пример: select * from table where url = "test" limit 1) потихоньку кончается память(всего на нем 8 ГБ ОЗУ) и, естественно, получить запись не удается. Как бы я ни пробовал изменять запрос, ничего не помогает.
Максим Фикс, не верю. более того, проходить-то он может и проходит (сканом до первого совпадения), но память от этого прохода расти все равно не должна
Антон Антон, MariaDB [yii2advanced]> select * from scan where url like "%1%" limit 1;
Если быть точнее, то вот этот запрос жрет память. Если что, индекс на url есть
select * from scan where url like "%1%" limit 1;
Если быть точнее, то вот этот запрос жрет память. Если что, индекс на url есть
в запросах типа like %хх индекс бесполезен.
причина утечки памяти все равно не понятна. В вопросе по ссылке Как ограничить область поиска в mysql? - более-менее понятна (результат подзапроса должен же где-то храниться)
Странно...
Даже если запускаете в командной строке падает?
Следующие вопросы :
1) что в /var/log/syslog (messages) после падения
2) в /var/log/mysqld.log (может быть в другом месте)
3) какая конфигурация в /etc/my.cnf
Vitaly Karasik, Я добавил индекс, предыдущая проблема исчезла. но появилась аналогичная.
Syslog:
Jul 1 09:02:17 vmi319265 systemd-resolved[396]: Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001, retrying tying transaction with reduced feature level UDP
mysql-error:
2020-07-01 9:02:14 140444876401792 [Note] InnoDB: Using Linux native AIO
2020-07-01 9:02:14 140444876401792 [Note] InnoDB: Using SSE crc32 instructions
2020-07-01 9:02:14 140444876401792 [Note] InnoDB: Initializing buffer pool, size = 2.0G
2020-07-01 9:02:14 140444876401792 [Note] InnoDB: Completed initialization of buffer pool
2020-07-01 9:02:14 140444876401792 [Note] InnoDB: Highest supported file format is Barracuda.
2020-07-01 9:02:14 140444876401792 [Note] InnoDB: 128 rollback segment(s) are active.
2020-07-01 9:02:14 140444876401792 [Note] InnoDB: Waiting for purge to start
2020-07-01 9:02:14 140444876401792 [Note] InnoDB: Percona XtraDB (http://www.percona.com) 5.6.46-86.2 started; log sequence number 73770213$
2020-07-01 9:02:14 140444876401792 [Note] Plugin 'FEEDBACK' is disabled.
2020-07-01 9:02:14 140442079295232 [Note] InnoDB: Dumping buffer pool(s) not yet started
2020-07-01 9:02:14 140444876401792 [Note] Server socket created on IP: '0.0.0.0'.
2020-07-01 9:02:14 140444876401792 [Note] /usr/sbin/mysqld: ready for connections.
Version: '10.1.44-MariaDB-0ubuntu0.18.04.1' socket: '/var/run/mysqld/mysqld.sock' port: 3306 Ubuntu 18.04
2020-07-01 9:02:17 140444875769600 [Warning] Host name 'mail.stargate-legacy.net' could not be resolved: Name or service not known
2020-07-01 9:02:17 140444875564800 [Warning] Host name 'mail.stargate-legacy.net' could not be resolved: Name or service not known