본문 바로가기

카테고리 없음

2020-06-28 08시 개발자 글 모음 | "sql exists : 결과가 존재하" 외 6개 이야기

[C++] EigenRand: Eigen용 Random Library 개발 by 이민철

  • 1) 범위의 랜덤 실수로 바꿔주는 녀석 std::uniform_real_distribution<> uniform_real; // 다음 코드는 NullaryExpr를 이용해 랜덤 행렬을 생성함 Eigen::MatrixXf mat = Eigen::MatrixXf::NullaryExpr(100
  • std::mt19937_64 urng{ 42 }; // 난수 생성기 // 표준 정규분포를 따르는 100x100짜리 랜덤 행렬을 생성
  • C++11의 난수 생성기 외에도 Eigen::Rand::Vmt19937_64라는 벡터화된 난수 생성기도 지원합니다


거대한 애벌레 - 삼성전자 권오현 회장의 『초격차』 by 한상훈

  • 따뜻한 곳에서 맛있는 잎사귀를 갉아먹는 것으로 만족하며 영원히 애벌레로 멈춰 있으려 한다면 어떻게 될까요
  • 그들은 너무나 많은 초록 잎사귀를 먹어서 자신의 비대함을 세상에 자랑하곤 한다
  • 어린 나이에 말도 안되게 많은 수익을 버는 사람들이 우리의 일상과 대화를 채우고 있다


병합 정렬 (Merge Sort) by 이종립

  • length ; aux = new int [ N ]; for ( int size = 1 ; size < N ; size = size + size ) { // size: 서브 배열의 크기 for ( int lo = 0 ; lo < N - size ; lo += size + size ) { // lo: 서브 배열의 인덱스 merge ( a
  • hi]에 복제 for ( int k = lo ; k <= hi ; k ++) { aux [ k ] = a [ k ]; } int i = lo ; // sub 배열 1 인덱스 int j = mid + 1 ; // sub 배열 2 인덱스 // 다시 a[lo
  • hi]로 병합 for ( int k = lo ; k <= hi ; k ++) { if ( i > mid ) { // sub 배열 1 인덱스가 마지막까지 갔다면 sub 배열 2의 값을 선택해 넣는다 a [ k ] = aux [ j ++]; } else if ( j > hi ) { // sub 배열 2 인덱스가 마지막까지 갔다면 sub 배열 1의 값을 선택해 넣는다 a [ k ] = aux [ i ++]; } else if ( aux [ j ] < aux [ i ]) { // 두 sub 배열 헤드 중 작은 값을 선택해 넣는다 a [ k ] = aux [ j ++]; } else { // 두 sub 배열 헤드 중 작은 값을 선택해 넣는다 a [ k ] = aux [ i ++]; } } } }


친절한 SQL 튜닝 01 by 이찬구 about SQL

  • #실행계획 : 어떤 방식으로 SQL 문장을 실행할 것인지 정해 놓은 계획 Syntax 체크 : 문법 오류 검증 (SQL 쿼리의 문법이 옳은가?) Semmantic 체크 : 의미상 오류 검증 (테이블 존재여부
  • 디스크에 어렵게 읽은 데이터를 캐싱함으로써 같은 블록에 대한 I/O Call 을 줄이는 것이 목적입니다
  • 논리적 I/O 는 SQL문을 처리하는 과정에 메모리 버퍼캐시에서 발생한 총 블록 I/O를 말한다


[MySQL][InnoDB] I/O설정 by 이정해 about MySQL,SQL

  • innodb_read_io_threads(prefetcher) 및 innodb_write_io_threads(cleaner) 구성 매개 변수를 사용하여 데이터 페이지에서 I/O를 읽고 쓰는 서비스를 제공하는 백그라운드 스레드 수를 구성 할 수 있습니다
  • Linux 시스템에서 InnoDB는 기본적으로 비동기 I/O 가진 시스템을 사용하여 데이터 파일 페이지에 대한 미리 읽기 및 쓰기 요청을 수행하므로 InnoDB 백그라운드 스레드가 이러한 유형의 I/O 요청을 처리하는 방식이 변경됩니다
  • 더 높은 I/O 속도가 가능한 사용량이 많은 시스템의 경우 서버가 높은 행변경 비율과 관련된 백그라운드 유지 보수 작업을 서버가 처리하도록 돕기 위해 더 높은 값을 설정할 수 있습니다


[MySQL][InnoDB] Online DDL by 이정해 about MySQL,SQL

  • 작업 제자리 (In Place) 리빌드 테이블 동시 DML 허용 메타 데이터만 수정 보조 인덱스 생성 또는 추가 Yes No Yes No 인덱스 드롭(삭제) Yes No Yes Yes 인덱스 이름 바꾸기 Yes No Yes Yes FULLTEXT 인덱스 추가 Yes* No* No No SPATIAL 인덱스 추가 Yes No No No 색인 유형 변경 Yes No Yes Yes
  • 작업 제자리 (In Place) 리빌드 테이블 동시 DML 허용 메타 데이터만 수정 컬럼 추가 Yes Yes Yes* No 컬럼 삭제 Yes Yes Yes No 컬럼 이름 변경 Yes No Yes* Yes 컬럼 재정렬 Yes Yes Yes No 컬럼 기본값 설정 Yes No Yes Yes 컬럼 데이터 유형 변경 No Yes No No VARCHAR열 크기 확장 Yes No Yes Yes 컬럼 기본값 삭제 Yes No Yes Yes 자동 증분(Auto Inrement) 값 변경 Yes No Yes No* Null 컬럼 만들기 Yes Yes* Yes No NOT NULL 컬럼 만들기 Yes* Yes* Yes No ENUM 혹은 SET 컬럼 정의 변경 Yes No Yes Yes
  • 작업 제자리 (In Place) 리빌드 테이블 동시 DML 허용 메타 데이터만 수정 ROW_FORMAT 변경 Yes Yes Yes No KEY_BLOCK_SIZE 변경 Yes Yes Yes No 지속적 테이블 통계 설정 Yes No Yes Yes 문자 세트 지정 Yes Yes* No No 문자 세트 변경 No Yes* No No 테이블 최적화 Yes* Yes Yes No FORCE옵션을 사용하여 재 구축 Yes* Yes Yes No Null 재구축 수행 Yes* Yes Yes No 테이블 이름 변경 Yes No Yes Yes


sql exists : 결과가 존재하면 참을 리턴한다. by 조경완 about SQL

  • temp의 str 값이 테이블 t2의 str 필드에 이미 있는지 찾고 싶습니다
  • t2에서 str 필드가 'cho'인 걸 질의하는 것을 넣으면 됩니다
  • 우리는 str 필드가 'cho'이냐 라는 것을 질의하는 대신에