国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

mysql多表聯(lián)合查詢優(yōu)化的問題

瀏覽:127日期:2022-06-17 09:29:12

問題描述

有3個結(jié)構(gòu)幾乎一樣的表,需要從3個表中查詢數(shù)據(jù),每個表大概有幾萬條數(shù)據(jù),用下面的查詢語句,耗時在5秒以上,請問有什么辦法可以提高查詢效率

SELECT * FROM(SELECT id,title,inputtime,description,url,thumb,status FROM sc_newsUNIONSELECT id,title,inputtime,description,url,thumb,status FROM sc_picUNION SELECT id,title,inputtime,description,url,thumb,status FROM sc_video ) AS aWHERE a.title like ’%中國%’

3張表是無關(guān)聯(lián)的,所以采用 UNION 方法

問題解答

回答1:

分成3次查詢,在server端合并結(jié)果

回答2:

你把union改成union all效率會好點

回答3:

需要看一下執(zhí)行計劃,不過模糊查詢估計只能走全表掃描的方式了。建議把where條件放在三個查詢語句里面,可能會提升一些性能。

如果確認(rèn)三個結(jié)果集沒有相同的記錄,可以將union換成union all,可以減少結(jié)果集合并去重所花費的時間。

回答4:

為什么不試試left join

回答5:

只有我一個人覺得所有l(wèi)ike查詢都需要用sphinx/es/solr來處理嗎?

回答6:

我也遇到了這種問題

回答7:

你前臺需要一次取出所有結(jié)果嗎? 不需要可以考慮limit 部分查詢

相關(guān)文章:
主站蜘蛛池模板: 鄂托克旗| 石屏县| 崇明县| 万荣县| 康保县| 阿鲁科尔沁旗| 苏尼特左旗| 黑河市| 和硕县| 江口县| 辉南县| 亳州市| 南召县| 嘉禾县| 东兰县| 常山县| 龙岩市| 密山市| 义乌市| 阳曲县| 双流县| 新河县| 克拉玛依市| 清水河县| 汉寿县| 修文县| 静安区| 郓城县| 栾川县| 安远县| 普陀区| 金山区| 桃园县| 武邑县| 岫岩| 郑州市| 东港市| 南丹县| 临沧市| 上虞市| 咸丰县|