SQLite 3.35에는 새로운 내장 수학 함수 등이 함께 제공됩니다.

SQLite 3.35 릴리스가 출시되었습니다. 이 데이터베이스 관리자의이 새 릴리스에서는 추가 된 수학 함수가 강조 표시됩니다. 테이블에서 열을 삭제하기위한 ALTER TABLE DROP COLUMN 표현식, 개선 된 작업 등을 지원합니다.

SQLite 패키지에 익숙하지 않은 사람들을 위해 경량 DBMS입니다., 플러그인 라이브러리로 설계되었습니다. SQLite 코드 퍼블릭 도메인으로 배포됩니다. 즉, 제한없이 어떤 용도로든 무료로 사용할 수 있습니다.

SQLite 3.35의 주요 새로운 기능

처음에 언급했듯이이 새 버전에서는 내장 수학 함수 추가 (log2 (), cos (), tg (), exp (), ln (), pow () 등) SQL에서 사용할 수 있습니다. 기본 제공 함수를 사용하려면 "-DSQLITE_ENABLE_MATH_FUNCTIONS"옵션이있는 어셈블리가 필요합니다.

표현 "ALTER TABLE DROP COLUMN"은 이제 테이블에서 열 삭제를 지원합니다. 이 열에 이전에 저장된 데이터를 삭제합니다.

UPSERT 작업의 구현 (추가 또는 수정), "INSERT ON CONFLICT DO NOTHING / UPDATE"와 같은 표현식을 사용하여 오류를 무시하거나 불가능한 경우 삽입하는 대신 업데이트를 수행 할 수 있습니다. "INSERT"를 통해 데이터를 추가합니다 (예 : 레코드 인 경우 UPDATE INSERT 대신 수행 할 수 있음).

새 버전에서는 여러 블록을 지정할 수 있습니다.«충돌«, 순서대로 처리됩니다. 마지막 "ON CONFLICT"블록에서 "DO UPDATE"를 사용하기 위해 충돌 정의 매개 변수를 지정하지 않는 것이 허용됩니다.

작업 DELETE, INSERT 및 UPDATE는 RETURNING 표현식을 지원합니다., 사용할 수 있습니다. 삭제, 삽입 또는 수정 된 레코드의 내용을 표시합니다. 예를 들어, "insert into ... returning ID"는 추가 된 행 식별자를 반환하고 "update ... set price = price * 1.10 returning price"는 업데이트 된 가격의 값을 반환합니다.

일반화 된 테이블 표현식 (공통 테이블 표현식, CTE)의 경우, WITH 요청을 사용하여 임시로 명명 된 결과 세트를 사용할 수 있도록«MATERIALIZED»및«NOT MATERIALIZED»모드 선택을 승인했습니다.

  1. "MATERIALIZED"는 뷰에 지정된 쿼리를 별도의 물리적 테이블에 캐시하고이 테이블에서 데이터를 나중에 검색하는 것을 의미합니다.
  2. "NOT MATERIALIZED"를 사용하면 뷰에 액세스 할 때마다 반복되는 쿼리가 수행됩니다. 처음에는 SQLite가 "NOT MATERIALIZED"로 기본 설정되었지만 이제는 두 번 이상 사용되는 CTE에 대해 "MATERIALIZED"로 변경되었습니다.

다른 변경 사항 중 이 새 버전에서 눈에 띄는 :

  • TEXT 또는 BLOB 유형의 매우 큰 값을 포함하는 데이터베이스에 대해 VACUUM 작업을 수행 할 때 메모리 소비 감소.
  • 최적화 프로그램 및 쿼리 스케줄러의 성능을 높이기위한 작업이 수행되었습니다.
  • 표현식 "IN"과 함께 min 및 max 함수를 사용할 때 최적화가 추가되었습니다.
  • EXISTS 문의 실행 속도가 빨라졌습니다.
  • JOIN에 사용 된 UNION ALL 식의 하위 쿼리 확장이 구현되었습니다.
  • IS NOT NULL 식에 사용되는 인덱스입니다.
  • "x IS NULL"및 "x IS NOT NULL"이 "NOT NULL"플래그가있는 열에 대해 FALSE 또는 TRUE로 변환되었습니다.
  • 조작이 외래 키와 연관된 열을 변경하지 않으면 UPDATE의 외래 키 검사를 건너 뜁니다.
  • WHERE 절의 일부를 창 함수를 포함하는 하위 쿼리로 이동하는 것은 이러한 부분이 창 함수에 사용되는 "PARTITION BY"절 식의 상수 및 복사본 작업으로 제한되는 경우 허용됩니다.

명령 줄 인터페이스 변경 :

  • ".filectrl data_version"명령이 추가되었습니다.
  • ".once"및 ".output"명령은 명명되지 않은 파이프 ( "|")를 사용하여 호출 된 컨트롤러에 출력을 전달하기위한 지원을 추가했습니다.
  • ".stats"명령은 가상 머신 카운터 및 표현식에 대한 통계를 표시하기 위해 "stmt"및 "vmstep"인수를 추가했습니다.

최종적으로 그것에 대해 더 많이 알고 싶다면 이 새로운 버전의 SQLite에 대해 자세히 알아보십시오. 다음 링크로 이동하십시오.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.