каким индексом лучше ускорить запрос: [sql] SELECT sessions.session, sessions.exit_date FROM `sessions`, `agent` WHERE NOW() - sessions.exit_date < 6000 AND DATE_FORMAT(NOW(), '%y%m%d') = DATE_FORMAT(sessions.enter_date, '%y%m%d') AND sessions.ip='тут IP' AND sessions.agent = agent.id AND agent.agent='тут агент' ORDER BY sessions.exit_date DESC LIMIT 1[/sql] в плане сравнения дат
igordata пробуй отдельные индексы и составные, в текстовых полях лучше индексировать префикс таблицы поэксперементируй с длинной, ордер бай тоже юзает индексы, пробуй и смотри explain
в текстовых пофик. индексы есть, все ок =) норм. А вот даты индексируются? помогает это при сравнении? нифига не знаю про это. Помогает индекс при сравнении даты за период? вот в чем соль.
igordata может они есть но не используются, добавь индекс и посмотри explain колонки possible_keys, key, Extra
помогите подкрутить мускул. На сервере 4 гига оперативки. Что б выкрутить, если памяти не жалко? Код (Text): [mysqld] port = 3306 socket = /var/run/mysql/mysql.sock skip-locking key_buffer = 16K max_allowed_packet = 1M table_cache = 4 sort_buffer_size = 64K read_buffer_size = 256K read_rnd_buffer_size = 256K net_buffer_length = 2K thread_stack = 128K bind-address=127.0.0.1 server-id = 1 skip-federated [client] port = 3306 socket = /var/run/mysql/mysql.sock [mysqldump] quick max_allowed_packet = 16M [mysql] no-auto-rehash [isamchk] key_buffer = 8M sort_buffer_size = 8M [myisamchk] key_buffer = 8M sort_buffer_size = 8M [mysqlhotcopy] interactive-timeout
key_buffer_size кеширует индексы query_buffer_size кеширует выбоки на долго работающем серваке пишешь SHOW GLOBAL STATUS смотришь Key_read_requests и Key_reads Key_read_requests - запросы из кеша Key_reads - с диска далее http://mysqltips.blogspot.com/2007/03/key-buffer.html но это все рекомендации, сам не пробовал, но почитаю еше в паре мест и попробую