久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

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

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

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

問(wèn)題描述

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

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 ’%中國(guó)%’

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

問(wèn)題解答

回答1:

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

回答2:

你把union改成union all效率會(huì)好點(diǎn)

回答3:

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

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

回答4:

為什么不試試left join

回答5:

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

回答6:

我也遇到了這種問(wèn)題

回答7:

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

相關(guān)文章:
主站蜘蛛池模板: 宁南县| 南木林县| 山西省| 四平市| 澄江县| 永昌县| 荃湾区| 花莲市| 梓潼县| 塔河县| 阿图什市| 新竹市| 建德市| 达尔| 上杭县| 黄浦区| 射洪县| 育儿| 泗水县| 横山县| 乳山市| 湖北省| 黔西| 吉木萨尔县| 柳江县| 灵台县| 靖宇县| 防城港市| 阿图什市| 旬邑县| 任丘市| 运城市| 正定县| 新河县| 洞口县| 金湖县| 乌兰县| 信阳市| 奉化市| 临沧市| 东阳市|