wo303807101 2021-10-14 12:38 采纳率: 0%
浏览 31

mysql有没有比not like '%字符串%'更效率的方法,或者怎么改变数据结构更好。

 比如表A是城市表,有世界上所有城市,B1是人名,A1和B1都有几万到几十万条数据。李四去过北京,东京,纽约就记录下来。现在我们想知道谁没去过北京,用的 not like '%[1]%'的方式,我觉得这样设计是不对的,而且因为查询频繁,CPU占用非常高,但是没有好的思路。考虑过新建一个表,存放姓名和城市,一行一个,每个人去过一个地方就增加一行记录,这样的话,当有20万人,5万人去过北京,查询没去过北京的好像效率也很低。主要是查询太过频繁。

A
IDcity
1北京
2东京
3纽约
4伦敦

 

 

 

 

 

 

B
name

list_id

李四[1],[2],[3]

张三

[1]
王五[4],[1]
赵一[3],[1],[2]
  • 写回答

2条回答 默认 最新

  • orange4reg 2021-10-15 08:59
    关注

    20万条信息,不至于慢吧?就算是排序也不会那样。但是按照编程序的步骤来说,就算什么不做,要把所有数据显示出来一次,那至少都是o(n)时间。你觉得慢的原因,可能是因为你上面所说的查询频繁,对于这个,你看看弄个缓存页行不行

    评论

报告相同问题?

问题事件

  • 创建了问题 10月14日

悬赏问题

  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向