본문 바로가기

SQL

(6)
[MS-SQL] Clustered vs. Nonclustered Index Structures in SQL Server SQL Server(MS SQL)의 클러스터드 인덱스와 넌클러스터드 인덱스 스트럭쳐 Clustered vs. Nonclustered Index Structures in SQL Server CREATE TABLE dbo.PhoneBook ( LastName varchar(50) NOT NULL, FirstName varchar(50) NOT NULL, PhoneNumber varchar(50) NOT NULL ); 아무런 인덱스 없이 데이터가 쌓이는 것은 heap 이라고 한다. 데이터는 어떤 순서없이, 빈자리에 쌓이게 된다. heap 에서는 어떤 조건에 맞는 row를 찾으려면, 모든 데이터를 scan 해야 한다. scan 중간에 조건에 맞는 row를 찾는다고 해도, 다른 조건에 맞는 row가 있을 수 있기..
[ASP] SQL 인젝션 방지법: 패러미터화된 쿼리를 사용한다 SQL 인젝션 방지법: 패러미터화된 쿼리를 사용한다 SQL Injection Mitigation: Using Parameterized Queries 출처 : https://blogs.technet.microsoft.com/neilcar/2008/05/21/sql-injection-mitigation-using-parameterized-queries/ neilcarMay 21, 200814 마이클 하워드가 어제 SDL에 SQL인젝션에 어떻게 대응하는지에 대한 훌륭한 아티클 을 썼다. 그는 대응을 위한 3가지 코딩 필수요건/방어책을 살폈다. 패러미터화된 SQL 쿼리를 사용하라. 저장프로시져를 사용하라. 실행-only 권한을 사용하라. Michael Howard wrote an excellent article..
sql wait stat sys.dm_os_wait_statssys.dm_os_waiting_task https://www.sqlskills.com/help/sql-server-performance-tuning-using-wait-statistics/http://sqlmvp.kr/140201969371http://symplog.tistory.com/380https://msdn.microsoft.com/ko-kr/library/ms179984.aspx
[SQL] 저장프로시져 디버깅 ( how to debug stored procedure in ms-sql ) MS-SQL 에서 저장 프로시져를 디버깅하는 방법1. 프로시져 안에 print 문을 사용하면서 로깅을 찍을 수 있다.2. MS-SQL 2008 에서는 F5를 눌러 실행하지 말고, alt+F5를 실행하면, 비주얼 스튜디오 디버거 처럼 F10, F11 키로 한 행씩 진행하며 디버깅 할 수 있다고 한다.
[StackOverflow] SQL Server profiler 같은 것이 PostgreSQL 에도 있나? SQL Server profiler 같은 것이 PostgreSQL 에도 있나? http://stackoverflow.com/q/2430380/100093 PostgreSQL 서버로 보내지는 쿼리를 보고 싶다. MS SQL 서버에서는 SQL Server profiiler 를 사용했었는데, PostgreSQL에서는 어떻게 하는지 아직 모르고 있다. 살 수 있는 툴은 몇 개 있는 것 같은데, 오픈소스로 있으면 좋겠다. BozoJoe ( 2010-03-12 ) http://stackoverflow.com/a/2430393/100093 log_statement 설정을 사용해서 서버로의 모든 쿼리 리스트를 얻을 수 있다. http://www.postgresql.org/docs/current/static/runtim..
[PGSQL|번역] Template Databases http://www.postgresql.org/docs/8.4/static/manage-ag-templatedbs.html 21.3. Template Databases CREATE DATABASE 는 실제론 이미 존재하는 데이터베이스를 복사하는 방식으로 동작한다. 기본(default)으론 template1 이라는 이름의 표준 시스템 데이터베이스를 복사한다. 그래서 이 데이터베이스의 이름이 "template"인 것이다. template1 에 어떤 객체를 추가하면, 그 객체들은 사용자가 만든 데이터베이스에 복사되어 따라들어가게 된다. 이런 방식으로 데이터베이스의 표준 객체 집합 이외의 사이트에 특성화된 수정을 할 수 있도록 해 준다. 예를 들면, 프로시져 언어 PL/pgSQL을 template1에 설치하면,..