1
jedywu 2014-08-27 14:39:17 +08:00 1
一般选择性低的字段是不需要加索引的。但实际中一些特殊的情况可能是有必要的。比如is_delete,如果为0的只有1000个,而且要经常查询为0的,那么加索引是有必要的。再比如如果一条记录很长,有100个字段,那对于查询"select c1 from tbl where is_delete = 0",为了避免每次都去做表扫描,在(is_delete, c1)上加索引也可能是需要的。
|
2
nybux 2014-08-27 17:23:21 +08:00 1
oracle有位图索引,mysql没必要加
|
3
oomkiller 2014-08-27 17:25:34 +08:00 1
没必要
|
4
mahone3297 2014-08-27 17:47:09 +08:00 1
is_delete 没什么必要
但是 is_processed 很有必要。。。 lz理解理解吧。。。 |
5
ksc010 OP |
6
mahone3297 2014-08-28 13:25:26 +08:00 1
@ksc010 其实也就是1l说的
isProcessed的意思是,是否已处理。假如你的逻辑是每次取未处理的,然后处理下,标记成已处理。 虽然isProcessed这个字段只有2个值true or false,但是加索引,可以让取未处理数据的效率很好的提升,所以有必要 isDeleted的场景,我暂时想不到,所以觉得不太有必要。 |