请教mysql的简单问题

  • w
    whalec
    一个50万人的数据库,

    搜一个人的名字,因为没有索引,所以超过了30秒都搜不出来,

    这正常吗?

    有索引的都是瞬间能出来的,

    请问怎么才能快速查到呢,是很准确的人名,不是模糊搜索,不明白为什么这么慢
  • l
    lleoavvee
    那就把人名设个索引比较好
  • 少先队员
    LIKE的变量前面加了%么?

    不过建议还是加上索引吧~
  • s
    somesun
    很正常阿, 所以采用设置合适的索引

    没索引就是一行一行对比阿, 当然慢
  • y
    yfl2
    楼主你没脑子的,就别想学这个了,继续啃老就行了
    这么简单的问题问了几次,我没见过这么蠢的
  • y
    yfl2
    都是楼主
  • w
    whalec
    索引做太多是不是不好?

    我现在已经做了几项的索引了
  • y
    yfl2
    学2年不如别人1天...
  • y
    yfl2
    请问怎么才能快速查到呢,是很准确的人名,不是模糊搜索,不明白为什么这么慢

    既然你知道索引,那么你说该怎么做?
    蠢到这地步,真的是可怕

    讲真,你完全没有思考能力,也缺乏基础知识,我估计你实际文化水平不会超过初中,所以你只知道索引,连索引实际上在做什么都不知道
    这也是你学2年了,还能问出这问题的原因

    [本帖最后由 yfl2 于 2020-2-22 22:10 编辑]
  • c
    ccccloud
    哪怕500万行纪录,重新批量装载到一个有全文检索的数据库(比如elastic), 也不要30秒吧,然后任意查一条姓名记录,模糊查询都可以,大概几十毫秒不到,ssd 都不用就这性能。

    楼主换nosql数据库吧。els,solr, mongodb都行。

    本帖最后由 ccccloud 于 2020-2-22 22:25 通过手机版编辑
  • H
    Hulk_Jinn
    就是没有索引的问题,你将字段加索引就行了。如果你怕50w数据加索引慢。可以适用percona工具帮你加索引。
  • w
    whalec
    我的直接搜索就是要这么久呢