鍍金池/ 問(wèn)答/PHP  數(shù)據(jù)庫(kù)/ 關(guān)于sql優(yōu)化

關(guān)于sql優(yōu)化

現(xiàn)在我有一個(gè)數(shù)組,里面大概有10萬(wàn)的數(shù)據(jù),都是personId,我現(xiàn)在需要用這個(gè)ID去另一個(gè)表里查詢(xún)其他數(shù)據(jù),有沒(méi)有什么好的辦法,可以使查詢(xún)效率一些?IN可不可以使用,雖然用IN好寫(xiě)點(diǎn),但是IN的性能不怎么樣。不知道各位有沒(méi)有一些好的方法

回答
編輯回答
假灑脫

1、用exists 代替 in
2、personId 創(chuàng)建索引 提升查詢(xún)效率

2017年3月31日 19:23
編輯回答
礙你眼

IN不是首選,考慮效率第一的話(huà),肯定是聯(lián)表查詢(xún),你看看實(shí)際需求使用join.

2017年7月30日 01:17
編輯回答
初念

建議不用IN,可以新建一張表來(lái)保存這些personId,通過(guò)關(guān)聯(lián)的方式查詢(xún)。

2017年12月6日 00:12
編輯回答
怣人

最簡(jiǎn)單的就是循環(huán)查詢(xún),這個(gè)簡(jiǎn)單方便但是效率不高,如果是項(xiàng)目的話(huà),會(huì)影響性能。還有一種方法就是將數(shù)組分段然后組合查詢(xún)數(shù)據(jù)庫(kù)。這種方式會(huì)好點(diǎn)。。。

2017年10月10日 12:12