【发布时间】:2011-02-23 08:35:29
【问题描述】:
我有一个用于存储项目和有关这些项目的属性的数据库。属性的数量是可扩展的,因此有一个连接表来存储与项目值关联的每个属性。
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;
这个数据库有两个目标:存储(它具有第一优先级并且必须非常快,我想在几秒钟内执行许多插入(数百次)),检索数据(使用 item_id 和 property_id 选择)(这是一个第二个优先级,它可以更慢但不会太多,因为这会破坏我对数据库的使用)。
目前,此表包含 16 亿个条目,简单的计数最多可能需要 2 分钟...插入速度不够快,无法使用。
我正在使用 Zend_Db 访问我的数据,如果您不建议我开发任何 PHP 端元素,我会非常高兴。
【问题讨论】:
-
这个问题与 php 无关,所以我删除了这个标签
-
没问题 Jens,你是对的
标签: mysql database optimization