我正在清理一个我继承的肮脏的数据库,需要“模糊匹配”的名字进行人工审查。我想出了一个可行的解决方案,但速度非常慢-- 15k行上只有7分钟。我觉得我忽略了一些非常简单的解决方案。Smith 5 David Jones7 Natalia LaBrody9 Dave Jones
我需要这个模糊匹配的多个标准
我在MySQL 5.6中构建了一个连接20个表的大型查询。当我在Mac5.6的本地副本上运行查询时,我得到了1-2毫秒的响应时间。当我在Ubuntu上的mysql 5.5上运行相同的查询(通过MySQL转储使用相同的数据)时,我得到了60秒的响应时间。我对缓慢的查询运行了分析,发现几乎整个60秒都花在了“统计”阶段。“统计”阶段显然是MySQL决定如何最好地执行所有连接的阶段。
MySQL 5.6如何在毫秒内执行此操作,而5.5则需要
查询很糟糕,而且有太多的查询无法优化,但我正在尽我所能,数据库结构很糟糕。客户端不关心查询优化,他只想降低CPU的使用率,他运行蝗虫,一个负载测试工具,给它1500个用户和1000个并发,看到CPU在90%左右,并说这是不好的。搜索功能是问题所在,他说。logging, and only log for small durations when you want to monitor things我也试图从缓慢的查询日志中优化我能
我有这个代码FROM campus_bookinfo cb LEFT JOIN customer c ON ub.id_customer = c.id_customer
where cb.idx_campus = 1 and cb.idxuser = 29 ORDER BY writedate DESC