Mysql创建索引boolen或varchar以获得更好的性能和存储

时间:2014-02-27 03:38:35

标签: mysql

我有一个查询

SELECT * FROM posts WHERE post_id=1 && image!=""...

在我的索引中

post_id, image

post_id, text, image

我的问题是

将图像放入索引是否是个好主意,(图像将是varchar,1320-26541-335.jpg)

或者我应该创建另一个column(tinyint)并设置boolen来识别用户是否有上传图片,基本上我只需要找出用户是否有上传图片

(如果用户没有上传图片,则他们的字段将为“空”)

2 个答案:

答案 0 :(得分:1)

你可以创建一个1个字符的前缀索引,它与tinyint上的索引大小相同,如果它的值与{{{}不同,你就不必添加新列或担心1}}字符串。

image

答案 1 :(得分:0)

您可以将图像字段设置为varchar,并将上传图像的路径(或图像名称)保存在其中。如果没有上传图片,请将其设为null!

这样我认为你不需要设置它index,因为它很少用于按名称搜索图像。