mysql 查询重复的数据的SQL优化方案
网络编程 2021-07-05 15:28www.168986.cn编程入门
这篇文章主要介绍了mysql 查询重复的数据的SQL优化方案,非常不错的方案推荐给大家。
在mysql中查询不区分大小写重复的数据,往往会用到子查询,并在子查询中使用upper函数来将条件转化为大写。如
代码如下:
select from statiatalogue WHERE UPPER(Source) IN (SELECT UPPER(Source) FROM statiatalogue GROUP BY UPPER(Source) having count(UPPER(Source))>1) ORDER BY upper(Source) DESC;
这条语句的执行效率是非常低的,特别是Source字段没有加索引。尤其是最忌讳的在查询条件中使用了函数,这将极大的降低查询速度,如果查询十万条数据以内的10分钟内还能获取到数据,如果是查询几十万条的话,会直接把服务器跑死的,此时可以通过一个临时表,并且加索引,再查询。这样可以提高很多的速度
代码如下:
CREATE TABLE statiatalogue_tmp SELECT UPPER(Source) AS Source FROM statiatalogue GROUP BY UPPER(Source) having count(UPPER(Source))>1;
ALTER TABLE statiatalogue_tmp add INDEX TX_1 (Source);
select s. from statiatalogue s WHERE UPPER(s.Source) IN (SELECT st.Source FROM statiatalogue_tmp st) ORDER BY UPPER(s.Source) DESC ;
以上就是本文sql优化方案的全部内容了,希望大家能够喜欢。
编程语言
- 甘肃哪有关键词排名优化购买方式有哪些
- 甘肃SEO如何做网站优化
- 河南seo关键词优化怎么做电话营销
- 北京SEO优化如何做QQ群营销
- 来宾百度关键词排名:提升您网站曝光率的关键
- 卢龙关键词优化:提升您网站排名的策略与技巧
- 山东网站优化的注意事项有哪些
- 四川整站优化怎样提升在搜索引擎中的排名
- 疏附整站优化:提升网站性能与用户体验的全新
- 海南seo主要做什么工作售后服务要做到哪些
- 荣昌百度网站优化:提升您网站的搜索引擎排名
- 河北seo网站排名关键词优化如何做SEO
- 江西优化关键词排名推广售后保障一般有哪些
- 古浪SEO优化:提升你的网站可见性
- 西藏网站排名优化怎么把网站排名在百度首页
- 如何提升阳东百度快照排名:详尽指南