Goldswen, по mysql делай правильные индексы и если оперативки достаточно, то индексы все в оперативке будут, а если индексы в оперативке, то выборки будут быстрыми
мой my.cnf конфиг
у меня tmpdir заакомментированы поскольку mariadb их игнорирует, и что нужно сама в рам сует
конфиг под 128 гб оперативки + nvme и сервак только под бд используется
если у тебя сервак только под бд ставь 70-80% от рам на innodb_buffer_pool_size
если у тебя сервак не только под бд, ставь 35-50% от рам на innodb_buffer_pool_size, в зависимости от потребления памяти, главное что-бы mysql не крашнулся когда рама будет не хватать, иначе могут возникнуть проблемы при перезапуске из-за похерившихся таблиц
Цитата:
[mysqld]
datadir=/home/lib/mysql
socket=/home/lib/mysql/mysql.sock
symbolic-links=1
key_buffer_size = 16M
max_allowed_packet = 16M
table_open_cache = 256
sort_buffer_size = 256M
read_buffer_size = 4M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 256M
thread_cache_size = 8
query_cache_size= 16M
#innodb_use_native_aio = 0
innodb_file_per_table = 1
max_allowed_packet = 256M
max_connections = 8192
max_user_connections = 8192
wait_timeout = 15
interactive_timeout = 12
thread_concurrency = 0
long_query_time = 5
#slow_query_log=1
#slow_query_log_file=/var/log/mysql-slow-queries.log
log_error = /var/log/mariadb/error.log
max_heap_table_size = 512M
tmp_table_size = 512M
#max_statement_time = 10
#tmpdir = /dev/shm
#innodb_tmpdir = /dev/shm
innodb_temp_data_file_path=ibtmp1:64M:autoextend
innodb_sort_buffer_size = 128M
innodb_buffer_pool_size = 96G
innodb_log_file_size = 256M
innodb_log_buffer_size = 4M
innodb_buffer_pool_instances = 16
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT
sync_binlog = 0
innodb_thread_concurrency = 0
innodb_read_io_threads = 128
innodb_write_io_threads = 128
skip-external-locking
skip-name-resolve
low-priority-updates
memlock
open_files_limit=50000
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
|