본문 바로가기

tsql8

[TSQL]"엄청 빠른 ROW COUNT" COUNT(*) 는 너무 느려 SYS.DM_DB_PARTITION_STATS 을 써보자 DB에서는 쿼리 플랜을 위해 테이블의 ROWCOUNT 정보를 가지고 있습니다. 그걸 엿볼수 있는게 SYS.DM_DB_PARTITION_STATS catalog view 입니다. --전체 테이블 카운트 SELECT T.NAME AS TBLNAME, SUM(P.ROW_COUNT) T_COUNT FROM SYS.TABLES T JOIN SYS.DM_DB_PARTITION_STATS P ON T.OBJECT_ID = P.OBJECT_ID AND T.TYPE_DESC = 'USER_TABLE' AND P.INDEX_ID IN (0,1) --WHERE T.NAME IN ('TBL_NAMES') GROUP BY T.SCHEMA_ID, T.NAME ORDER BY T.NAME SELECT T.NAME AS TBLNAM.. 2023. 4. 11.
[MSSQL] How to compute the modulus of a float in TSQL? MSSQL 에서 MODULAR 연산에 해당하는 함수는 따로 없고(MOD,FMOD) % 연산자로 수행 합니다. 이때 해당 연산은 FLOAT에 대해서는 수행할 수 없도록 막혀 있습니다. (https://docs.microsoft.com/en-us/sql/t-sql/language-elements/modulo-transact-sql?view=sql-server-ver16) "The data types float and numeric are incompatible in the modulo operator." 위와 같은 메시지가 나오죠. 이를 해결 하기 위해서는 약간의 트릭이 필요합니다. MONEY와 REAL 타입을 사용하면 원하는 연산의 수행이 가능합니다. 아래 연산을 수행해 보세요. (분자값을 MONEY로 설.. 2022. 7. 27.
[MSSQL]형상 자르기 geometry 함수 STGeomFromText 는 mssql dbms 모든 제품군에서 사용가능한 형상 차집합 연산입니다. 연산 테스트 결과는 아래와 같습니다. 두개의 사각형을 하나 기준으로 STDifference하면 동일하게 겹쳐지는 부분을 제외한 형상이 반환 됩니다. STDiffrence https://docs.microsoft.com/en-us/sql/t-sql/spatial-geometry/stdifference-geometry-data-type?view=sql-server-ver15 2021. 9. 30.
[MSSQL] 동적쿼리 (FLOAT 문자 변환 방법) MSSQL 동적쿼리 FLOAT 변환 SET @PT = GEOMETRY::STGeomFromText('POINT ('+LTRIM(STR(@LON,17,14)) + ' ' + LTRIM(STR(@LAT,17,14)) +')',0) MSSQL 동적 쿼리 도중 GEOMETRY 형태의 입력 파라메터인 FLOAT 값이 제대로 변환 되지 않는 문제가 발생했습니다. 동적쿼리에 대한 내용은 아래 참고하세요. 2020/11/06 - [프로그래밍/TSQL] - MSSQL 동적쿼리 파라미터 전달(SP_EXECUTESQL WITH PARAMETER) 2020/04/28 - [프로그래밍/TSQL] - [MSSQL] 인스턴스 확인, DB명 확인, 서버 확인 결론 LTRIM(STR(@LON,17,14)) 와 같이 변환하면 됩니다. .. 2020. 11. 6.