1. 程式人生 > >Mysql——FIN_IN_SET 和 IN 對比

Mysql——FIN_IN_SET 和 IN 對比

FIND_IN_SET函式用來比較是不是包含 mysql中In是比較等不等

使用實際的例子,對比兩者之間效能的

FIND_IN_SET

UPDATE   project
SET Available = 1
WHERE
FIND_IN_SET(
	ID ,'001e678a-b0af-482a-aa41-f4490de7c412,002a62ee-ab92-4cbe-89bc-0d759a027f80,00b3ab99-7a5f-422f-830f-63c36fd5ac16,00c050c3-ccda-418c-acac-e8965dc8f29b')


執行的解釋,可以看到還是使用了主鍵索引的 執行時間為:0.014s

IN

UPDATE   project
SET Available = 0
WHERE
	ID IN (
		'001e678a-b0af-482a-aa41-f4490de7c412',
		'002a62ee-ab92-4cbe-89bc-0d759a027f80',
		'00b3ab99-7a5f-422f-830f-63c36fd5ac16',
		'00c050c3-ccda-418c-acac-e8965dc8f29b'
	)


同樣使用了主鍵索引 總共耗時0.001s,相對FIND_IN_SET使用的時間還是大大減少了的。怪不得,在兩者都可實現的情況之下,大家都不建議使用前者。