Tengo una base de datos utilizada para almacenar elementos y propiedades sobre estos elementos. El número de propiedades es extensible, por lo tanto, hay una tabla de unión para almacenar cada propiedad asociada a un valor de elemento.¿Cómo manejar una tabla grande en MySQL?
CREATE TABLE `item_property` (
`property_id` int(11) NOT NULL,
`item_id` int(11) NOT NULL,
`value` double NOT NULL,
PRIMARY KEY (`property_id`,`item_id`),
KEY `item_id` (`item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Esta base de datos tiene dos objetivos: el almacenamiento (que tiene la primera prioridad y tiene que ser muy rápido, me gustaría realizar muchas inserciones (cientos) en pocos segundos), la recuperación de datos (selecciona utilizando item_id y property_id) (Esta es una segunda prioridad, puede ser más lenta pero no demasiado porque esto arruinaría mi uso de la base de datos).
Actualmente, esta tabla alberga 1,6 billones de entradas y una cuenta simple puede llevar hasta 2 minutos ... La inserción no es lo suficientemente rápida como para ser utilizable.
Estoy usando Zend_Db para acceder a mis datos y realmente me alegraría si no me sugiera que desarrolle cualquier elemento secundario de PHP.
la pregunta no está realmente relacionada con php, así que eliminé esta etiqueta – jigfox
No hay problema Jens, usted es correcto – AsTeR