我有一张如下表格,
CREATE TABLE `floor` (
`id` bigint(11) NOT NULL AUTO_INCREMENT,
`floorName` varchar(20) NOT NULL,
`buildingId` bigint(11) NOT NULL,
`imageInString` longtext,
`image` longtext,
PRIMARY KEY (`id`),
KEY `fk_floor_1_idx` (`buildingId`),
CONSTRAINT `fk_floor_1` FOREIGN KEY (`buildingId`) REFERENCES `building` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=latin1;
表包含20行。我在图像列中插入图像(SVG / JPEG)作为base64。
当我选择不同大小的插入列时,
4KB -> Loaded less than 1 sec
200KB -> 3 to 4 secs
500KB -> 8 secs
3MB -> 30 to 50 secs
这是我的交易,我想在1到2秒内加载3MB文件。
如何实现这一目标?
答案 0 :(得分:1)
我不确定将图像存储在MySQL中是一个好主意 - 它不是为存储文件或大文件而构建的。 为了避免这种模式,我建议将图像存储在Web服务器/云中,并将URL /文件名存储在数据库中,以供应用程序使用。
如果您想将图像存储在数据库中,我会考虑以下内容: