Tôi đã sử dụng cơ sở dữ liệu để lưu trữ các mục và thuộc tính về các mục này. Số lượng thuộc tính có thể mở rộng, do đó có một bảng nối để lưu trữ từng thuộc tính được liên kết với một giá trị mục.Làm cách nào để xử lý bảng lớn trong 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;
cơ sở dữ liệu này có hai mục tiêu: lưu trữ (trong đó có ưu tiên hàng đầu và có thể rất nhanh chóng, tôi muốn thực hiện nhiều chèn (hàng trăm) trong vài giây), lấy dữ liệu (chọn sử dụng item_id và property_id) (Đây là ưu tiên thứ hai, nó có thể chậm hơn nhưng không quá nhiều vì điều này sẽ làm hỏng việc sử dụng DB của tôi).
Hiện tại bảng này lưu trữ 1,6 tỷ mục nhập và số lượng đơn giản có thể mất đến 2 phút ... Chèn không đủ nhanh để có thể sử dụng được.
Tôi đang sử dụng Zend_Db để truy cập dữ liệu của mình và thực sự sẽ vui nếu bạn không đề nghị tôi phát triển bất kỳ phần tử bên PHP nào.
câu hỏi không thực sự liên quan đến php nên tôi đã xóa thẻ này – jigfox
Không vấn đề Jens, bạn đúng là – AsTeR