|
|
|
| Как оптимально настроить MySQL под Window, т.е. чтобы запросы выполнялись максимально быстро и без глюков?
Суть в том, что под Linux тот же код выполняется в разы быстрее.
Предистория вопроса и исходники в теме:
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=14243&page=1 | |
|
|
|
|
|
|
|
для: DarkLord
(02.05.2006 в 14:34)
| | Дело здесь может быть вовсе не в Windows, например, страница данного форума на локальной машине открывается дольше минуты, хотя MySQL у меня не плохо настроена, а машина не самая слабая (PIV, RAM 2 Гб, SATA-диск). Дело здесь вот в чём, на форуме постоянно много народу сидит: SQL-запросы и их результаты постоянно сидят в кэше в оперативной памяти, а на локальной машине посещаемость отсутствует и даже если выделить кэш - данные всё равно на диске остануться - поэтому если посещаемость маленькая и запросы постоянно не выполняются скорость работы с большими таблицами тоже маленькая.
Тем не менее, вы можете настроить MySQL примерно следующим образом, создайте файл my.ini в корне диска C следующего содержания
[mysqld]
# The TCP/IP Port the MySQL Server will listen on
port=3306
#Path to installation directory. All paths are usually resolved relative to this.
basedir="C:/mysql/"
#Path to the database root
datadir="C:/mysql/Data/"
log-bin
# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=cp1251
key_buffer_size = 256M
max_allowed_packet = 8M
table_cache = 512 # число одновременных соединений*число открытых таблиц
sort_buffer_size = 16M
read_buffer_size = 16M
join_buffer_size = 1M #
query_cache_size = 64M
query_cache_limit = 2M
myisam_sort_buffer_size = 128M
thread_cache = 8
# thread_stack = 192K - вообще лучше убрать или ставить не меньше 192К
tmp_table_size = 64M
max_connections = 200
[myisamchk]
#key_buffer = 256M
#sort_buffer_size = 256M
#read_buffer = 16M
#write_buffer = 16M
|
Однако, если ситуация примерно такая, как описано выше - шибко сильно скорость не возрастёт, хотя MySQL при длительных и трудоёмких вычислениях будет с удовольствием откусывать оперативную память (в основном она определяется директивой key_buffer_size = 256M к которой прибавляются другие объёмы в зависимости от выполняемой операции). | |
|
|
|