mysql 千万级数据 优化查询速度 20
我的数据库只有一个表有uiduserpassemail4个字段我现在的查询语句是SELECT*FROMdatabaseWHEREemailLIKE"%abc%"orpas...
我的数据库只有一个表 有uid user pass email 4个字段 我现在的查询语句是
SELECT * FROM database WHERE email LIKE "%abc%" or pass like "%abc%" or user like "%abc%";
这种模糊查询 发现查询很慢 请问怎么优化 可以提高查询速度 我是用nacicat的
分表?建索引? 具体怎么做?能给个详细教程吗? 展开
SELECT * FROM database WHERE email LIKE "%abc%" or pass like "%abc%" or user like "%abc%";
这种模糊查询 发现查询很慢 请问怎么优化 可以提高查询速度 我是用nacicat的
分表?建索引? 具体怎么做?能给个详细教程吗? 展开
2个回答
展开全部
SELECT * FROM database WHERE email LIKE "%abc%" or pass like "%abc%" or user like "%abc%";
你的这条sql有索引也是等于没有的,因为你用了like '%xxx%' 如果like 的条件以%开始,数据库不会用索引。
分表是可以,但是需要分很多。你要一个表分几十个表才能优化到合理的速度。
但是从你表的数据量来说,你应该不需要用得全表扫面,应该是根据用户来查找。所以建议你加多一个userid =? 的来找,然后用userid作为你的索引。
你的这条sql有索引也是等于没有的,因为你用了like '%xxx%' 如果like 的条件以%开始,数据库不会用索引。
分表是可以,但是需要分很多。你要一个表分几十个表才能优化到合理的速度。
但是从你表的数据量来说,你应该不需要用得全表扫面,应该是根据用户来查找。所以建议你加多一个userid =? 的来找,然后用userid作为你的索引。
壹寰(深圳)科技文化有限公司
2021-03-27 广告
2021-03-27 广告
不同公司提供的方案也不一样。如果想了解更多详细信息,可以咨询下壹寰(深圳)科技文化有限公司。91数据恢复是壹寰(深圳)科技文化有限公司旗下专业数据恢复品牌,91数据恢复专注于勒索病毒数据恢复、勒索病毒数据修复、数据库修复、数据库解密恢复、企...
点击进入详情页
本回答由壹寰(深圳)科技文化有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询