1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
Скрыть объявление

Привет посетитель! У нас на форуме тебе откроются дополнительные разделы, которые скрыты от гостей! А так же ты найдёшь много полезной информации.

myisam vs innodb

Тема в разделе "База данных", создана пользователем DarkEmpire, 16 сен 2016.

  1. DarkEmpire

    DarkEmpire 偽造 Местный

    Регистрация:
    16 фев 2015
    Сообщения:
    261
    Симпатии:
    108
    Баллы:
    328
    Задался вопросом, какой движок лучше для бд сервера l2?
    Что брать за основу myisam или innodb?

    Судя по отзывам myisam быстрее, а innodb надежнее.
    Кто уже сталкивался с проблемами myisam, если таковые имелись?
    И у кого есть практика использования innodb, как она себя ведет при большой нагрузке?
     
    Последнее редактирование: 16 сен 2016
  2. Zubastic

    Zubastic Знающий Проверенный

    Регистрация:
    24 апр 2016
    Сообщения:
    672
    Симпатии:
    317
    Баллы:
    349
    У Л2 небольшая нагрузка.
     
  3. DarkEmpire

    DarkEmpire 偽造 Местный

    Регистрация:
    16 фев 2015
    Сообщения:
    261
    Симпатии:
    108
    Баллы:
    328
    [HIDE=25]
    И за одно кто что может сказать на счет мой настройки my.cnf?

    Код:
    # The following options will be passed to all MySQL clients
    [client]
    #password                   = your_password
    port                        = 3306
    socket                      = /var/run/mysqld/mysqld.sock
    
    # use [safe_mysqld] with mysql-3
    [mysqld_safe]
    err-log                     = /var/log/mysql/mysql.err
    
    # add a section [mysqld-4.1] or [mysqld-5.0] for specific configurations
    [mysqld]
    user                        = mysql
    port                        = 3306
    socket                      = /var/run/mysqld/mysqld.sock
    pid-file                    = /var/run/mysqld/mysqld.pid
    log-error                   = /var/log/mysql/mysqld.err
    slow_query_log
    basedir                     = /usr
    datadir                     = /var/lib/mysql
    skip-external-locking
    key_buffer                  = 384M
    max_allowed_packet = 16M
    table_cache = 512
    sort_buffer_size = 2M
    net_buffer_length           = 16K
    read_buffer_size = 512K
    read_rnd_buffer_size = 768K
    myisam_sort_buffer_size = 64M
    thread_cache_size = 30
    query_cache_size = 16M
    thread_concurrency = 12
    
    sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
    
    max_connections = 500
    tmp_table_size = 256M
    myisam_max_sort_file_size=100G
    key_buffer_size = 1G
    
    # security:
    # using "localhost" in connects uses sockets by default
    # skip-
    bind-address                = 0.0.0.0
    
    #log-bin
    
    # point the following paths to different dedicated disks
    tmpdir                      = /tmp/
    #log-update                 = /path-to-dedicated-directory/hostname
    
    # you need the debug USE flag enabled to use the following directives,
    # if needed, uncomment them, start the server and issue
    # #tail -f /tmp/mysqld.sql /tmp/mysqld.trace
    # this will show you *exactly* what's happening in your server ;)
    
    #log                        = /tmp/mysqld.sql
    #gdb
    #debug                      = d:t:i:o,/tmp/mysqld.trace
    #one-thread
    
    # uncomment the following directives if you are using BDB tables
    #bdb_cache_size             = 4M
    #bdb_max_lock               = 10000
    
    # the following is the InnoDB configuration
    # if you wish to disable innodb instead
    # uncomment just the next line
    #skip-innodb
    #
    # the rest of the innodb config follows:
    # don't eat too much memory, we're trying to be safe on 64Mb boxes
    # you might want to bump this up a bit on boxes with more RAM
    innodb_buffer_pool_size = 3G
    # this is the default, increase it if you have lots of tables
    innodb_additional_mem_pool_size = 20M
    #
    # i'd like to use /var/lib/mysql/innodb, but that is seen as a database :-(
    # and upstream wants things to be under /var/lib/mysql/, so that's the route
    # we have to take for the moment
    #innodb_data_home_dir       = /var/lib/mysql/
    #innodb_log_arch_dir        = /var/lib/mysql/
    #innodb_log_group_home_dir  = /var/lib/mysql/
    # you may wish to change this size to be more suitable for your system
    # the max is there to avoid run-away growth on your machine
    #innodb_data_file_path = ibdata1:10M:autoextend:max:2048M
    # we keep this at around 25% of of innodb_buffer_pool_size
    # sensible values range from 1MB to (1/innodb_log_files_in_group*innodb_buffer_pool_size)
    innodb_log_file_size = 512M
    # this is the default, increase it if you have very large transactions going on
    innodb_log_buffer_size = 6M
    # this is the default and won't hurt you
    # you shouldn't need to tweak it
    #set-variable = innodb_log_files_in_group=2
    # see the innodb config docs, the other options are not always safe
    innodb_flush_log_at_trx_commit = 2
    #innodb_lock_wait_timeout = 50
    #innodb_file_per_table
    #innodb_flush_method O_DIRECT
    
    innodb_thread_concurrency=12
    
    join_buffer_size = 256K
    memlock
    max_heap_table_size = 196M
    bulk_insert_buffer_size = 32M
    query_cache_limit = 128K
    long_query_time = 8
    log-slow-queries
    slow_query_log_file = /var/log/mysql/slowquery.err
    log-warnings = 1
    secure-auth
    max_connect_errors = 10000
    skip-host-cache
    skip-name-resolve
    
    [mysqldump]
    quick
    max_allowed_packet          = 16M
    
    [mysql]
    # uncomment the next directive if you are not familiar with SQL
    #safe-updates
    
    [isamchk]
    key_buffer                  = 256M
    sort_buffer_size            = 256M
    read_buffer                 = 2M
    write_buffer                = 2M
    
    [myisamchk]
    key_buffer                  = 256M
    sort_buffer_size            = 256M
    read_buffer                 = 2M
    write_buffer                = 2M
    
    [mysqlhotcopy]
    interactive-timeout
    [/HIDE]
     
    Последнее редактирование: 16 сен 2016
  4. Desquire

    Desquire Бывалый Партнер

    Регистрация:
    7 май 2015
    Сообщения:
    900
    Симпатии:
    513
    Баллы:
    513
  5. DarkEmpire

    DarkEmpire 偽造 Местный

    Регистрация:
    16 фев 2015
    Сообщения:
    261
    Симпатии:
    108
    Баллы:
    328
    В общем где мало записи и много чтения нужно myisam, а во всем остальном innodb
     
    Desquire нравится это.
  6. Desquire

    Desquire Бывалый Партнер

    Регистрация:
    7 май 2015
    Сообщения:
    900
    Симпатии:
    513
    Баллы:
    513
    Ну если тебе нужны индексы, то тогда только иинодб)