7

非常に多くのデータベース スクリプトの形式は次のとおりです。

IF NOT EXISTS(SELECT * FROM Countries WHERE Name = 'France')
INSERT INTO(Countries)

しかし、私は人々がそうしているのを見てきました:

IF NOT EXISTS(SELECT CountryID FROM Countries WHERE Name = 'France')
INSERT INTO(Countries)

さらには:

IF NOT EXISTS(SELECT 1 FROM Countries WHERE Name = 'France')
INSERT INTO(Countries)

後者の利点は、より効率的であると思われます。クエリは実際にはサブクエリの列を使用しないため、それらを戻さない方が速い場合があります。しかし、奇妙に見えるので、一部の人を混乱させるのではないかと思います。とにかく、実際の実行時間に違いはありますか?

4

3 に答える 3