我有一个帖子表,列id (INT, primary key), name(VARCHAR), status(TINYINT)
。该职位的状态可以是1, 2, 3 or 4
。比方说,我想选择状态为2的帖子。我如何优化表以获得快速查询,因为为状态字段添加索引不会有太大的帮助。tinyint列优化mysql
我使用mysql 5.5。引擎可以是innodb
或myisam
。
感谢
更新评论
据我了解指数是如何工作的,是当我们添加索引它有点创建列,但在一个有序的方式复制 - 数字(或文本 - 按字母顺序),所以它提供了二进制搜索的可能性。所以,如果我们需要找到某个值,我们可以避免对表格进行全面扫描。但在这种情况下,假设我的表格中有100K行,并且有大致的说法 - 等于行数1, 2, 3 and 4
。如果我为该字段添加索引,毕竟它应该对剩余的25k行进行线性搜索,并且如果我们考虑到添加索引会降低插入和更新速度,可能不值得。
查询 - SELECT id, name FROM posts WHERE status = 2
为什么不为状态字段添加索引帮助那么大? – bumperbox
为什么添加索引不会加快查询速度?你在做什么类型的查询?请举个例子。 – Ander2
分成4个表格! –