복붙노트

[SQL] 선택 카운트 (ID) 또는 존재 (...) : 항목의 존재 여부가 있는지 확인하는 가장은 무엇입니까?

SQL

선택 카운트 (ID) 또는 존재 (...) : 항목의 존재 여부가 있는지 확인하는 가장은 무엇입니까?

어떤 것은 결정에 성능면에서 최선의 경우 항목의 존재 여부를 특별히 테이블이 70 만 명 이상의 행을 포함하는 경우

if (Select count(id) from Registeration where email='email@w.cn') > 0
    print 'Exist'
else
    print 'Not Exist'

또는

if Exists(Select id from Registeration where email='email@w.cn') 
    print 'Exist'
else
    print 'Not Exist'

해결법

  1. ==============================

    1.항상 존재

    항상 존재

    편집, 명확하게하기

    물론,이 경우 이메일 열은 고유하고 가까이 될 것입니다 색인합니다.

    일반적으로, 더 적은 리소스를 사용합니다 존재도 더 정확합니다. 당신은 행의 존재를 찾고 있습니다, 없습니다 "0보다"그들은 같은 경우에도

    EDIT2 다음이 존재, 당신은 NULL, 1, ID를 사용하거나 심지어 1/0 :이 선택되어 있지 ...

    2011년 5월 21일 편집 :

    이 SQL 서버에 최적화 된 것처럼 COUNT 지금 동일이 경우에 존재하는 그것은 2005 + 보이는

  2. ==============================

    2.또한 오류가 발생합니다하는 int 카운트 ()는 INT를 반환하는 당신이 초과 일부 데이터를 계산하면 것을 고려 걸릴

    또한 오류가 발생합니다하는 int 카운트 ()는 INT를 반환하는 당신이 초과 일부 데이터를 계산하면 것을 고려 걸릴

  3. from https://stackoverflow.com/questions/3271455/whats-the-best-to-check-if-item-exist-or-not-select-countidor-exist by cc-by-sa and MIT license