본문 바로가기
728x90
반응형

전체 글146

버튼 컨트롤 비활성화시키는 법(CSR, SSR) aspx 코드에서 제어하고 싶은 버튼 컨트롤의 ID를 가져온 뒤, 자바스크립트 단에서 myButton.SetEnabled(false) 를 사용해 컨트롤에 접근 및 제어가 가능하다. 클라이언트 단에서 제어하는 것은 생각보다 간단하게 잘 동작한다. 서버 단에서 제어를 할 때는 myButton.Enabled = false; 와 같은 방식을 사용하게 되는데, 버튼이 화면에서 비활성화되기 위해서는 페이지가 다시 랜더링되어야 한다. 새로운 랜더링은 포스트백 요청 후에 발생한다. 프로세스를 정확하게 이해하기 위해서는 ASP.NET 페이지 라이프 사이클에 대해서 이해해야 한다. 다음 블로깅에서 ASP.NET 페이지 라이프 사이클을 포스팅하겠음. 2023. 9. 12.
동적 쿼리 사용 이유, 예시, 장단점, 플랜캐시, 주의점 흔히 동적 쿼리, 다이나믹 쿼리라는 것이 존재한다. 언제 동적 쿼리를 사용하는 걸까? 동적 쿼리는 주로 비즈니스 로직이 복잡해져서 where 조건절에서 조건이 너무 다양해지고 많아지는 경우, 유용하게 사용할 수 있다. 예를 들면, 검색이나, 페이징 처리 등의 상황이 있다. 그렇다면 예시를 살펴보자. 아래 예시는 @MinPrice 및 @MaxPrice 매개 변수에 따라 제품 테이블에서 가격 범위 내의 제품을 검색하는 쿼리이다. 예시) DECLARE @MinPrice DECIMAL(10, 2) = 100.00 DECLARE @MaxPrice DECIMAL(10, 2) = 500.00 DECLARE @DynamicSQL NVARCHAR(MAX) SET @DynamicSQL = N' SELECT ProductN.. 2023. 9. 6.
WHERE 1=1 조건절 사용 이유 "WHERE 1=1" 조건절은 항상 참인 조건을 나타낸다. 항상 참을 나타내는 조건을 왜 굳이 넣는걸까? 크게 2가지 이유가 있는 것 같다. 동적 쿼리 "WHERE 1=1"을 사용하면 동적 쿼리의 WHERE 절에 조건을 쉽게 추가하거나 제거할 수 있다. 또한 가독성과 유지보수에도 좋다. 예시) DECLARE @DynamicSQL NVARCHAR(MAX) = N' SELECT Column1, Column2 FROM MyTable WHERE 1=1' -- 동적으로 조건 추가 IF @Condition1 = 1 BEGIN SET @DynamicSQL = @DynamicSQL + N' AND Column1 = @Value1' END IF @Condition2 = 1 BEGIN SET @DynamicSQL = @D.. 2023. 9. 6.
SQL Server 테이블, 프로시저 조회 해당 특정 데이터베이스에 저장된 모든 데이터 개체에 대한 메타데이터가 들어 있는 정보 스키마 뷰는 INFORMATION_SCHEMA라는 이름으로 정의되어 있다. INFORMATION_SCHEMA는 각 데이터베이스에 존재한다. // 테이블 조회 select * from INFORMATION_SCHEMA.TABLES // 프로시저, 함수 조회 select * from INFORMATION_SCHEMA.ROUTINES 출처) https://learn.microsoft.com/ko-kr/sql/relational-databases/system-information-schema-views/system-information-schema-views-transact-sql?view=sql-server-ver16 시스템.. 2023. 9. 6.
인덱스를 타지 않는 10가지 CASE와 예제 1. 인덱스 컬럼의 변형 FULL SCAN -- 인덱스 컬럼의 변형 (인덱스 컬럼과 검색 조건 컬럼이 다른 데이터 형식) CREATE TABLE ExampleTable ( ID INT PRIMARY KEY, Name VARCHAR(50) ) -- 인덱스 컬럼은 Name이지만 검색 조건에서 변형된 데이터 형식 사용 SELECT * FROM ExampleTable WHERE UPPER(Name) = 'JOHN' 2. 데이터 형 변환이 일어난 경우 FULL SCAN -- 데이터 형 변환이 일어난 경우 (인덱스 컬럼과 검색 조건 컬럼의 데이터 형식이 다름) CREATE TABLE ExampleTable ( ID INT PRIMARY KEY, Age INT ) -- 인덱스 컬럼은 INT이지만 검색 조건에서 문자열.. 2023. 9. 5.
LIKE, CONTAINS 차이점 및 성능 비교 SQL Server에서 문자열 검색에 사용되는 방법으로 LIKE와 CONTAINS가 있다. 두 가지의 차이점과 성능에 대해서 비교해보자. LIKE SELECT * FROM USER_TB WHERE UserName LIKE 'Tom' OR UserName LIKE 'Thomas' 문자열이 지정된 패턴과 일치하는지 여부를 확인하는 연산자. 열이 인덱싱되지 않아도 된다. 일반 문자나 와일드카드 문자(%, _, [], [^])를 패턴에 사용할 수 있다. 와일드카드 문자를 패턴의 다른 위치에 필요에 따라 사용할 수 있다. 패턴의 앞부분에 와일드카드를 사용하면 어떠한 인덱스도 사용할 수 없으므로, 성능은 느려진다. 비교에 사용되는 패턴은 최대 8000바이트까지의 문자열까지 사용할 수 있다. CONTAINS SELE.. 2023. 9. 5.
728x90
반응형