我研究了这个,但我仍然无法解释原因:
SELECT cl.`cl_boolean`, l.`l_name`
FROM `card_legality` cl
INNER JOIN `legality` l ON l.`legality_id` = cl.`legality_id`
WHERE cl.`card_id` = 23155
Run Code Online (Sandbox Code Playgroud)
明显慢于:
SELECT cl.`cl_boolean`, l.`l_name`
FROM `card_legality` cl
LEFT JOIN `legality` l ON l.`legality_id` = cl.`legality_id`
WHERE cl.`card_id` = 23155
Run Code Online (Sandbox Code Playgroud)
115毫秒对478毫秒.他们都使用InnoDB并且定义了关系.'card_legality'包含大约200k行,而'legality'表包含11行.以下是每个的结构:
CREATE TABLE `card_legality` (
`card_id` varchar(8) NOT NULL DEFAULT '',
`legality_id` int(3) NOT NULL,
`cl_boolean` tinyint(1) NOT NULL,
PRIMARY KEY (`card_id`,`legality_id`),
KEY `legality_id` (`legality_id`),
CONSTRAINT `card_legality_ibfk_2` FOREIGN KEY (`legality_id`) REFERENCES `legality` (`legality_id`),
CONSTRAINT `card_legality_ibfk_1` FOREIGN KEY (`card_id`) REFERENCES `card` (`card_id`)
) …
Run Code Online (Sandbox Code Playgroud) 我正与一位程序员(PHP)进行辩论,我们在GUID方面都不同意.假设有关每个图像的信息存储在DB中并且具有自己的主键(int).
除了不必担心重复的文件名之外,还有什么理由可以为图像文件名使用唯一的ID?
我不想忽视他的方法论,但它也不适合我.
谢谢!本
更新: 听到许多+ 1的GUID,SEO如何受到"随机"生成的图像文件名的影响?(谢谢Sukumar)