RAMM13
17.07.2009 - 19:22
Следующая таблица.
SQL |
CREATE TABLE `test` ( `date` INT(10) NOT NULL default '0', `hostday` INT(10) NOT NULL default '0', `hitday` INT(10) NOT NULL default '0', `hostweek` INT(10) NOT NULL default '0', `hitweek` INT(10) NOT NULL default '0', `hostmon` INT(10) NOT NULL default '0', `hitmon` INT(10) NOT NULL default '0', `hostall` INT(10) NOT NULL default '0', `hitall` INT(10) NOT NULL default '0', INDEX (`date`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci AUTO_INCREMENT=1; |
в таблице всегда 1 запись и не боле.
запросы обновления в ней выполняются медленно не в пример остальным, где таблицы более сложные с VARCHAR, TEXT полями.
Например, такой запрос:
SQL |
update `test` set `hostday`=`hostday`+'1' where `date`='2030912' limit 1 Затронуто строк: 1 (запрос занял 0.1997 сек.). |
Это среднее значение. В той же базе таблица анкет с более 20 полями обновляется за тысячные доли сек. В приведенной же таблице обновление 4 полей вообще вырастает от 0,5 сек за запрос. какие только тесты не проводил - 95% запросов UPDATE > 0.1 сек. редко когда 0,08-0,05. В чем загвоздка?
Спустя 3 часа, 46 минут, 18 секунд (17.07.2009 - 22:08) sergeiss написал(а):
Там нету никаких триггеров на апдейт?
Спустя 36 минут, 55 секунд (17.07.2009 - 22:45) PandoraBox2007 написал(а):
my.cnf в руки и вперед смотреть проблемы
Спустя 17 часов, 34 минуты, 43 секунды (18.07.2009 - 16:20) RAMM13 написал(а):
Цитата (PandoraBox2007 @ 17.07.2009 - 19:45) |
my.cnf в руки и вперед смотреть проблемы |
да, InnoDB торозит при вставках и апдейтах... все дело в настройках
Спустя 49 минут, 27 секунд (18.07.2009 - 17:09) PandoraBox2007 написал(а):
ставь в очередь запросы примени так же Slave/Master ну и вобще реплекация и кеширование Оппкод рулит для HighLoad+ проектов
БД не должна быть на одной машине с ВебМордой
Код |
[mysqld] skip-locking
low_priority_updates = 1 concurrent_insert=2
# Try number of CPU's*2 for thread_concurrency thread_concurrency = 1
# required unique id between 1 and 2^32 - 1 # defaults to 1 if master-host is not set # but will not function as a master if omitted server-id = 1
[mysql] no-auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates |
Спустя 8 минут, 7 секунд (18.07.2009 - 17:17) RAMM13 написал(а):
я решил заменить частоизменяемые мелкие таблы на MyISAM, но все равно даже на элементарной INSERT небольшой записи в InnoDB уходит более 0,1 сек в большинстве случаев. Придется переходить на MyISAM поголовно похоже. .. . .
Спустя 3 минуты, 59 секунд (18.07.2009 - 17:21) PandoraBox2007 написал(а):
Цитата |
частоизменяемые мелкие таблы на MyISAM, но все равно даже на элементарной INSERT небольшой записи в InnoDB уходит более 0,1 сек |
а разве триггеры не для этого созданы ?
Спустя 7 минут, 11 секунд (18.07.2009 - 17:29) PandoraBox2007 написал(а):
покажите результат
EXPLAIN на селекте ?
Проведите тест скорости транзакций на
MySQL 5.1 и скажите как скорость ))
Спустя 4 минуты, 55 секунд (18.07.2009 - 17:34) RAMM13 написал(а):
полезные ссылки. Но ведь невозможно самому менять настройки сервера MySQL, если не имеешь VPS например.
Цитата |
покажите результат explain на селекте ? |
к выборкам нет претензий. все оч быстро. Порядка 0,001 сек. хатя таблица еще мала
Спустя 6 минут, 29 секунд (18.07.2009 - 17:40) RAMM13 написал(а):
по моему ручной вызов транзакций на всю таблицу а это не есть гуд для InnoDB. Или я что то недопонимаю
Спустя 3 минуты, 29 секунд (18.07.2009 - 17:44) RAMM13 написал(а):
Цитата |
а разве триггеры не для этого созданы ? |
Триггеры это предел моих изысканий. Смысл в них по моему только при использовании MyISAM. Кароч я мало знаю ))
Спустя 1 час, 27 минут, 52 секунды (18.07.2009 - 19:11) RAMM13 написал(а):
Цитата (PandoraBox2007 @ 18.07.2009 - 14:09) |
ставь в очередь запросы примени так же Slave/Master ну и вобще реплекация и кеширование Оппкод рулит для HighLoad+ проектов
БД не должна быть на одной машине с ВебМордой
Код | [mysqld] skip-locking
low_priority_updates = 1 concurrent_insert=2
# Try number of CPU's*2 for thread_concurrency thread_concurrency = 1
# required unique id between 1 and 2^32 - 1 # defaults to 1 if master-host is not set # but will not function as a master if omitted server-id = 1
[mysql] no-auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates |
|
у меня не виртуальный сервер, я не могу адинистрировать базы и тем более не имею доступа ко второму резервному серверу баз.
MySQL стоит на отдельном сервере.
Спустя 1 минута, 42 секунды (18.07.2009 - 19:13) RAMM13 написал(а):
Цитата (PandoraBox2007 @ 18.07.2009 - 14:29) |
покажите результат EXPLAIN на селекте ?
Проведите тест скорости транзакций на MySQL 5.1 и скажите как скорость )) |
у меня стоит MySQL 5,0 ) а что в это подвох?