我想在我的客户端中对我的in进行模糊处理,方法是让它们在我的数据库中保存资源的散列(md5)值,然后使用
select * from resources where md5(_id) = "3c164361es869624aa2c16cdd034abaa";但我不了解mysql的内部工作原理,在我看来,这可能会阻碍性能。
发布于 2015-11-09 17:33:22
由于_id是一个常量,不会改变,每次重新计算它的md5都是浪费CPU时间和内存,另外,当表变大时,你会看到延迟增加。
您最好为_id列的md5_id添加一个列,每当您插入新行时,只需计算其md5并将其保存在新的md5_id列中,这样您只需执行一次md5,而不是对每个查询执行一次。
新查询应该如下所示
select * from resources where md5_id = "3c164361es869624aa2c16cdd034abaa";https://stackoverflow.com/questions/33605903
复制相似问题