2014-12-22 11 views
5

Ho creato la tabella HEAP (ram) su mysql per una query più veloce. Ma dopo il riavvio del server mysql, i dati nelle mie tabelle di heap non vengono caricati.Esegui query SQL sull'avvio del servizio MySQL

mio normale nome di tabella: prodotti con id, product_name, status di MyISAM

id => intero e auto_increment, chiave primaria

product_name => var_char e la chiave (indice)

status => booleano

query reale:

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

voglio aumentare la velocità, così ho creato tavolo con stessa struttura e con il nome products_ram come tavolo mysql MUCCHIO. Sto usando questo codice per il riempimento:

insert p_shop.products_ram select * from p_shop.products; 

Ma quando riavvio mysql istanza di dati tabella heap (ram) è andato.

Ho trovato un documento su memoria mysql: http://dev.mysql.com/doc/refman/5.0/en/memory-storage-engine.html

Ma non riesco a trovare quello che cerca.

Voglio inserire/copiare i miei dati dalla tabella prodotti alla tabella products_ram sull'inizializzazione del server mysql automaticamente.

Qualsiasi aiuto sarà apprezzato.

Edit: il mio sistema operativo: Windows Server 2008 R2 e MySQL: MySQL 5.5

+1

se hai detto che sistema operativo era allora potremmo avere un indizio su come è stata avviata la tua istanza mysqld. – symcbean

+0

Mysql 5.5 su Windows Server 2008 R2 – EngineerCoder

risposta

4

L'opzione server init_file consente di definire le istruzioni SQL arbitrarie da eseguire all'avvio.

+1

sì, il file my.ini si trova 'C: \ Programmi \ MySQL \ MySQL Server 5.1 \ my.ini', ho aggiunto questa riga sotto il' init-file '[mysqld]' ' = "C: /inetpub/wwwroot/start.sql" ' e funziona! Grazie. – EngineerCoder