![]()  | 
		
Задавайте вопросы, мы ответим
Вы не зашли.
Решается задача мотиторинга транспорта на дороге. Данные от детекторов поступают на ПК и вставляются в БД. Вот вставляемая запись:
CREATE TABLE TM.VEHICLE 
    (ID INT UNSIGNED NOT NULL AUTO_INCREMENT,
    TIME_STAMP CHAR(23) NULL,
    DEVICE INT UNSIGNED NULL,
    LANE TINYINT UNSIGNED NULL,
    CLASS TINYINT UNSIGNED NULL,
    SPEED TINYINT UNSIGNED NULL,
    LENGTH TINYINT UNSIGNED NULL,
    DISTANCE TINYINT UNSIGNED NULL,
    X_POS SMALLINT UNSIGNED NULL,
    Y_POS SMALLINT UNSIGNED NULL,
    PRIMARY KEY (ID));
Вставка тестировалась на 3-х СУБД. И вот какие результаты я получил при вставке 10000 записей:
MSSQLServer 2005 ~ 8712 ms.
Firebird 2.0 ~ 29609 ms.
MySQL Server 5.0 ~ 286902 ms. !!!!!
Время вставки для MySQL в 30 раз больше, чем в MSSQL  и в 10 раз больше, чем в FB! Понимаю, что получил сомнительный результат. При работе со всеми СУБД использовал ODBC. Вставка производилась с одного компьютера (клиент) на другой (сервер). При установке всех СУБД никаких особых настроек не делал, ставилось всё по умолчанию. 
Помогите понять в чём проблема! Не верится, что MySQL такой тормозной. Как оптимизировать?
Спасибо.
Неактивен
PS: Выборка 10000 записей для всех СУБД примерно одинаковая 200 - 300 ms. Проблема при вставке. Есть ли рекомендации по оптимизации настроек ODBC коннектора?
Неактивен
Проблема разрешилась переконфигурацией сервера. После установки флага "Non-transactional Database Only" (по умолчанию было "Multifunctional Database") Скорость вставки увеличилась до 4062 ms для 10000 записей, то есть в 70 раз!!!
Неактивен

Видимо, у Вас было мало памяти под InnoDB выделено 
 Но я рад, что Вы
решили проблему переходом на MyISAM ![]()
Неактивен