2014-12-22 2 views
5

Я создал таблицу HEAP (ram) в mysql для более быстрого запроса. Но после перезапуска сервера mysql данные в моих таблицах Heap не загружаются.Запуск SQL-запроса при запуске службы MySQL

Моя нормальное имя таблицы: продукты с идентификатором, PRODUCT_NAME, статус MyISAM

идентификатор => целое и auto_increment, первичный ключ

product_name => var_char и ключ (индекс)

статус => булево

Фактический запрос:

`Select id from products where product_name like "product_name"` 

Я хочу, чтобы увеличить скорость, так что я создал таблицу с такой же структурой и с именем products_ram как MySQL HEAP таблицы. Я использую этот код для заполнения:

insert p_shop.products_ram select * from p_shop.products; 

Но когда перезапуск MySQL экземпляр КУЧА (баран) данные таблицы исчезли.

Я нашел документ о тузд памяти: http://dev.mysql.com/doc/refman/5.0/en/memory-storage-engine.html

Но я не могу найти то, что я искал.

Я хочу вставлять/копировать свои данные из таблицы продуктов в таблицу products_ram при инициализации сервера mysql автоматически.

Любая помощь будет оценена по достоинству.

Edit: Моя Операционная система: Windows Server 2008 R2 И Mysql: MySQL 5.5

+1

Если вы сказали, в какой операционной системе это было, тогда мы могли бы понять, как запускается ваш экземпляр mysqld. – symcbean

+0

Mysql 5.5 на Windows Server 2008 R2 – EngineerCoder

ответ

4

Опция init_file сервер позволяет определить произвольные операторы SQL, которые должны выполняться при запуске.

+1

yep, файл my.ini, расположенный 'C: \ Program Files \ MySQL \ MySQL Server 5.1 \ my.ini', я добавил эту строку в' 'mysqld' ' ' init-file = "C: /inetpub/wwwroot/start.sql" ' и он работает! Спасибо. – EngineerCoder

Смежные вопросы