vps交流

请教下数据库字段索引的问题


  1. SE LECT MAX(lastclick) as lastclick F ROM `manhua_arctype` W HERE reid NOT IN (0,45) LIMIT 0,1
  2. se lect a.typename,a.id,a.bookclickm f rom `manhua_arctype` a w here a.reid=’8′ and a.id<>’13587′ order by bookclickm d esc limit 0,10
  3. Se lect a.id,a.typename,a.tuijian,a.typeimg,a.description,a.zuozhe,b.id as reid,b.typename as retypename,c.id as zuozheid F rom `manhua_arctype` a left join `manhua_arctype` b on(b.id=a.reid) left join `manhua_arctype` c on(c.typename=a.zuozhe) WHERE a.reid not in(0,45) and a.booksize<500000 order by a.bookclickm desc limit 0,7
  4. 像上面的两个查询语句,都是从arctype中获取内容,
  5. 现在用navicat设置的,把where后面的字段单独设置索引了,设置方式是
  6. 名    栏位    索引类型   索引方式r
  7. reid  reid    Normal     BTREE
  8. ID     ID     NORMAL     BTREE
  9. BOOKCLICKM   BOOOKLICKM      NORMAL     BTREE
  10. BOOKSIZE    BOOKSIZE     NORMAL     BTREE

复制代码

这样设置对吗?

not in 和 < 应该不走索引
LOC是建政论坛请教下数据库字段索引的问题请教下数据库字段索引的问题

loverhoc 发表于 2022-9-10 23:07
not in 和 < 应该不走索引

那应该用什么?

explain xxxxxxxx
看下怎么索引的就知道了请教下数据库字段索引的问题
自己看执行计划不就知道了

sdqu 发表于 2022-9-10 23:21
explain xxxxxxxx
看下怎么索引的就知道了

explain 然后后面的查询语句吗?

explain后面加上你的查询语句,能知道那些走了索引,那些是全表扫描,一点一点优化