요구 사항은 더미 기본 키처럼 사용되는 저장 프로 시저에서 처리 된 각 행에 대해 고유 한 값을 반환하는 것입니다. 한 솔루션은 ROW_NUMBER() 함수를 사용하는 것 같습니다. 또 하나는 here입니다. 아마도 Guid와 관련된 솔루션이있을 수 있습니다. 누군가가 나를 performant하고 신뢰할 수있는 솔루션을 추천 수 있습니까? (당신이 독특한을 지정할로)SQL Server : 각 행에 대해 고유 한 생성 값 반환
0
A
답변
0
임의의 숫자는 옵션이 될 수 없다.
ROW_NUMBER
은 행 당 8 바이트의 저장 공간을 차지합니다.uniqueidentifier
는 16 바이트 구조 (NEWSEQUENTIALID()
은 시드 GUID에서 증가하므로NEWID()
느린보다NEWSEQUENTIALID()
인으로, SQL의 고유 식별자 GUID가있다)는 단순히 증가하는ROW_NUMBER
보다 얻는 것이 더 비용이 많이 든다.테이블 변수 또는 임시 테이블에
INSERT
이있는 시나리오에서는IDENTITY
을 사용할 수 있습니다. 저장소 크기는 열 유형의 정수이며 정수 유형 (비트가없고 소수가 아님) 일 수 있습니다. 구성 가능한 단계 (기본값 1)에서 구성 가능한 오프셋 (기본값 1)에서 증가합니다.
이 그것은 빠르고 신뢰할 수있는 양이며, ROW_NUMBER
당신의 가장 적합 할 것으로 보인다.
나는 단지 성능 이상으로 디자인을 선택하는 것을 권장합니다. 합리적으로 구성된 SQL 서버 설치에서는 속도면에서 차이가 거의 없으며 리소스가 매우 제한되어 있지 않으면 저장소에 병목 현상이 없어야합니다. 다소 오래 된 것 benchmarks here.
반환 된 행의 특정 순서를 유지 관리하거나 보장하는 데 도움이되지 않는다는 것을 알아 두십시오. 결과가 필요할 경우 ORDER BY
너의 가장 바깥 쪽 SELECT
이 필요합니다.
관련 문제
- 1. SQL Server - 모든 행에 대해 한 열에 최대 값 반환
- 2. SQL Server - 여러 고유 값 반환
- 3. 문자열에 대해 고유 한 숫자 값 생성
- 4. SQL Server-- 각 고유 한 행에 대해 테이블과 SUM 열을 결합하십시오.
- 5. 고유 값 삽입 SQL Server
- 6. SQL : 명령문 트리거 VS 각 행에 대해
- 7. SQL Server 고유 행에 대한 쿼리
- 8. 은 각 행에 대해
- 9. 고유 한 키가없는 데이터베이스 테이블의 각 행에 대해 고유 한 ID를 생성해야합니까?
- 10. JQuery HTML 테이블의 각 행에 대해 PHP 고유 ID가 있습니다
- 11. 각 사용자에 대해 고유 한 SALT가 생성 되었습니까?
- 12. 각 메서드에 고유 한 열거 자 반환
- 13. SQL - Max가 생성 한 타임 스탬프 값이있는 데이터에 대해 고유 한 행 반환
- 14. 반복하지 않고 AS/400 테이블의 각 행에 대해 고유 한 숫자 값을 생성 할 수 있습니까?
- 15. 모든 행에 대해 한 행에 대해 작업하는 SQL 쿼리 적용
- 16. 새 행에 대해 SQL Server 모니터링
- 17. mysql - 각 행에 대해
- 18. 각 행에 대해
- 19. 고유 한 행에 대한 SQL 문
- 20. MySQL의 반환 고유 값
- 21. 각 열의 고유 한 값에 대해 하나의 행을 반환하는 SQL
- 22. SQL Server : 단일 행에 여러 행 값
- 23. SQL Server : 각 공통 값 집합에 대해 rownumber를 얻는 방법?
- 24. SQL Server 2008 : 고유 항목 테이블 생성
- 25. 고유 한 레코드를 가져 오는 SQL Server
- 26. SQL Server 데이터베이스에서 레코드 생성시 고유 한 번호 생성
- 27. 각 문자열에 대해 고유 한 정수를 만드시겠습니까?
- 28. SQL 데이터에 고유 한 색 지정/생성
- 29. SQL Server 감사 테이블의 고유 한 연속 값
- 30. 테이블에서 고유 한 반환
여기를 참고하십시오 : http://stackoverflow.com/questions/17839420/generate-guid-for-every-row-in-a-column – swe
대답은 저장 프로 시저를 사용할 계획에 따라 다릅니다 . –
SP에서 무슨 일이 일어나고 있으며 어떻게 가치를 반환합니까? 예를 들어 SP 끝에서 select 문을 사용하는 경우 한 가지 방법을 사용할 수 있습니다. 출력 매개 변수를 통해 테이블 변수를 반환하는 경우 다른 방법을 사용할 수 있습니다. –