MySQL 8.0의 새로운 기능

JM·2021년 6월 4일
0

MySQL

목록 보기
5/10

🔨 MySQL 8.0에 추가 된 기능

https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html#mysql-nutshell-additions

📌 Data dictionary

  • 데이터베이스 오브젝트에 대한 정보를 저장하는 트랜잭션 데이터 딕셔너리를 통합

📌 Atomic DDL

  • DDL 작업과 관련된 데이터 사전 업데이트, 스토리지 엔진 작업 및 바이너리 로그 쓰기를 단일 트랜잭션으로 결합

📌 Upgrade procedure

  • MySQL 8.0.16 부터 서버는 시작시 필요한 모든 업그레이드 작업을 자동으로 수행하며 새로운 --upgrade 서버 옵션은 서버가 자동 데이터 사전 및 서버 업그레이드 작업을 수행하는 방법을 제어

📌 Security and account management

  • mysql.grant 테이블 스토리지 엔진 변경 (MyISAM -> InnoDB)
  • authentication plugin 변경 (mysql_native_password -> caching_sha2_password)
  • Role 지원
  • 시스템 및 일반 사용자는 SYSTEM_USER 권한에 따라 구분
  • partial_revokes 시스템 변수가 활성화된 경우 전역적으로 적용되는 권한을 부여 가능
  • GRANT 구문에 사용할 권한에 대한 추가 정보를 지정하는 AS user [WITH ROLE]절 추가
  • 패스워드 관리 정책 추가 (비밀번호 재사용 정책, 비밀번호 확인 필수 정책, 이중 암호 지원, 임의 암호 생성, 로그인 실패 추적 및 임시 계정 잠금)
  • OpenSSL을 사용하여 컴파일 된 경우 FIPS 모드를 지원
  • 서버가 새 연결에 사용하는 TLS context를 런타임에 재 구성 가능
  • OpenSSL 1.1.1 이상을 사용하여 컴파일 된 경우 TLS v1.3 지원
  • 명명된 파이프의 클라이언트에 부여된 액세스 제어를 Windows에서 성공적으로 통신하는 데 필요한 최소값으로 설정

📌 Resource management

  • 리소스 그룹의 생성 및 관리를 지원하고 서버 내에서 실행 중인 스레드를 특정 그룹에 할당하여 스레드가 그룹에서 사용 할 수 있는 리소스에 따라 실행되도록 허용

📌 Table encryption management

  • 암호화 기본값을 정의하고 적용하여 테이블 암호화를 전역적으로 관리 가능

📌 InnoDB enhancements

  • 현재 최대 auto-increment 값은 값이 변경 될 때마다 리두 로그에 기록되고 각 체크 포인트의 엔진 전용 시스템 테이블에 저장 (서버 재시작 시 영구적으로 적용)
  • 인덱스 트리가 손상되면 InnoDB는 리두 로그에 손상 플래그를 기록하여 손상 플래그를 안전하게 충돌
  • InnoDB memcached 플러그인은 여러 get 작업 및 범위 쿼리를 지원
  • 새로운 동적 변수 인 innodb_deadlock_detect를 사용하여 교착 상태 감지를 비활성화 가능
  • INFORMATION_SCHEMA.INNODB_CACHED_INDEXES 테이블은 각 인덱스에 대해 InnoDB buffer pool에 캐시 된 인덱스 페이지 수를 제공
  • InnoDB 임시 테이블은 공유 임시 테이블 스페이스 ibtmp1에 생성
  • InnoDB 테이블 스페이스 암호화 기능은 리두 로그 및 언두 로그 데이터의 암호화 지원
  • InnoDB는 SELECT ... FOR SHARESELECT ... FOR UPDATE 잠금 읽기 구문과 함께 NOWAITSKIP LOCKED 옵션을 지원
  • ADD PARTITION, DROP PARTITION, COALESCE PARTITION, REORGANIZE PARTITIONREBUILD PARTITION ALTER TABLE 옵션은 native partitioning in-place APIs에서 지원되며 ALGORITHM = {COPY | INPLACE}LOCK 절과 함께 사용 가능
  • InnoDB 스토리지 엔진은 자체 스토리지 엔진 별 데이터 사전이 아닌 MySQL 데이터 사전을 사용
  • mysql 시스템 테이블과 데이터 사전 테이블은 데이터 디렉토리의 단일 InnoDB 테이블 스페이스 파일인 mysql.ibd에 생성
  • MySQL 인스턴스가 초기화(initialize) 될 때 기본적으로 두 개의 언두 테이블 스페이스 생성되며, MySQL 8.0.14 부터 CREATE UNDO TABLESPACE 구문을 사용하여 런타임시 선택한 위치에 추가 언두 테이블 스페이스 생성 및 삭제 가능
  • innodb_max_dirty_pages_pct_lwm, innodb_max_dirty_pages_pct 변수의 기본값 변경
  • innodb_autoinc_lock_mode 변수의 기본값 2로 변경
  • 일반 테이블 스페이스의 이름 변경은 ALTER TABLESPACE ... RENAME TO 구문 으로 지원
  • innodb_dedicated_server 변수를 사용하여 서버 메모리 용량에 따라 innodb_buffer_pool_size, innodb_log_file_size, innodb_flush_method 값을 자동으로 구성 가능
  • INFORMATION_SCHEMA.INNODB_TABLESPACES_BRIEF는 InnoDB테이블 스페이스에 대한 공간, 이름, 경로, 플래그 및 공간 유형 데이터 제공
  • zlib 라이브러리 버전 향상 (1.2.3 -> 1.2.11)
  • SDI(Serialized dictionary information)는 전역 임시 테이블 스페이스 및 언두 테이블 스페이스 파일을 제외한 모든 InnoDB 테이블 스페이스 파일에 존재
  • Atomic DDL을 지원하여 작업 중에 서버가 중지 된 경우에도 DDL 작업이 완전히 커밋되거나 롤백
  • innodb_directories 옵션을 사용하여 서버가 중지된 상태 일 때 테이블 스페이스 파일을 새 위치로 이동하거나 복원 가능
  • 리두 로깅 최적화 구현
  • MySQL 8.0.12 부터 LOB(Large Object) 데이터에 대한 소규모 업데이트에 대해 언두 로깅이 지원되어 크기가 100 바이트 이하인 LOB 업데이트의 성능이 향상
  • MySQL 8.0.12 부터 ALGORITHM=INSTANT은 ALTER TABLE 작업에 대해 추가 지원
  • MySQL 8.0.13 부터 TempTable 스토리지 엔진은 BLOB (Binary Large Object) 컬럼 타입 지원
  • MySQL 8.0.13 부터 InnoDB data-at-rest encryption 기능은 일반 테이블 스페이스를 지원
  • innodb_buffer_pool_in_core_file 변수 비활성화 시 InnoDB 버퍼 풀 페이지를 제외하여 코어 파일의 크기를 감소
  • MySQL 8.0.13 부터 임시 테이블과 내부 임시 테이블이 세션에 할당 된 세션 임시 테이블 스페이스에 저장
  • MySQL 8.0.14 부터 InnoDB는 병렬 클러스터형 인덱스 읽기를 지원하여 CHECK TABLE 성능을 향상
  • MySQL 8.0.14 부터 CREATE TABLESPACE 구문의 ADD DATAFILE 절은 선택 사항으로 FILE 권한이 없는 사용자가 테이블 스페이스 생성 가능
  • MySQL 8.0.16 부터 temptable_use_mmap 변수에 의해 temptable_max_ram 제한을 초과 할 때 TempTable 스토리지 엔진이 메모리 매핑 된 파일 또는 InnoDB 내부 임시 테이블을 사용할지 여부를 제어 => MySQL 8.0.26 에서 제거
  • MySQL 8.0.16 부터 InnoDB data-at-rest encryption 기능은 mysql 시스템 테이블 스페이스의 암호화를 지원
  • MySQL 8.0.16 부터 innodb_spin_wait_pause_multiplier 변수로 spin-lock polling 지연 시간 제어 향상
  • MySQL 8.0.17 부터 대용량 데이터 세트에 대한 병렬 읽기 스레드 성능 향상
  • MySQL 8.0.18 부터 innodb_idle_flush_pct 변수를 사용하여 유휴 기간 동안 페이지 플러싱에 제한을 두어 SSD의 수명을 연장 가능
  • MySQL 8.0.19 부터 히스토그램 통계 생성을 위한 InnoDB 데이터의 효율적인 샘플링 지원
  • MySQL 8.0.20 부터 doublewrite 버퍼의 저장 위치 변경 (.dblwr)
  • MySQL 8.0.20 부터 잠금 대기중인 트랜잭션의 우선 순위를 지정하는 CATS 알고리즘 개선
  • MySQL 8.0.21 부터 lock_sys->mutexlock_sys->latches.* 로 대체
  • MySQL 8.0.21 부터 DATA DIRECTORY 절을 사용하여 데이터 디렉터리 외부에서 생성 된 테이블 및 테이블 파티션 데이터 파일은 InnoDB에 알려진 디렉터리로 제한
  • MySQL 8.0.21 부터 ALTER INSTANCE {ENABLE|DISABLE} INNODB REDO_LOG 구문을 사용하여 리두 로깅을 활성화 및 비활성화 가능
  • MySQL 8.0.21 부터 innodb_validate_tablespace_paths 변수로 테이블 스페이스 경로의 유효성 검사 비활성화 가능
  • MySQL 8.0.21 부터 atomic DDL을 지원하는 스토리지 엔진에서 CREATE TABLE ... SELECT 구문은 row-based Replication이 사용 중일 때 바이너리 로그에 하나의 트랜잭션으로 기록
  • MySQL 8.0.21 부터 새 언두 테이블 스페이스의 초기 페이지는 이제 자르기 작업 중에 디스크로 플러시되는 대신 다시 실행
  • MySQL 8.0.22 부터 innodb_extend_and_initialize 변수를 사용하여 InnoDB가 Linux에서 테이블 당 파일 및 일반 테이블 스페이스에 공간을 할당하는 방법 구성 가능
  • MySQL 8.0.23 부터 doublewrite 파일 페이지의 암호화를 지원
  • MySQL 8.0.23 부터 temptable_max_mmap 변수는 TempTable 스토리지 엔진이 디스크에 내부 임시 테이블 데이터를 저장하기 전에 메모리 매핑 (MMAP) 파일에서 할당할 수 있는 최대 메모리 양을 정의
  • MySQL 8.0.23 부터 AUTOEXTEND_SIZE 옵션은 InnoDB가 테이블 스페이스가 가득 차면 테이블 스페이스 크기를 확장하는 양을 정의하여 더 큰 증분으로 테이블 스페이스 크기를 확장 가능

📌 Character set support

  • 기본 문자 집합이 latin1에서 utf8mb4로 변경

📌 JSON enhancements

  • JSON_EXTRACT()의 결과에 대해 JSON_UNQUOTE()를 호출하는 것과 동일한 ->> 연산자를 추가
  • JSON 집계 함수 JSON_ARRAYAGG(), JSON_OBJECTAGG() 추가
  • 기존 JSON 값을 읽기 쉬운 형식으로 출력하는 JSON_PRETTY() 추가
  • ORDER BY를 사용하여 쿼리에서 JSON 값을 정렬 할 때 각 값은 고정 된 1K 크기의 일부가 아닌 정렬 키의 가변 길이 부분으로 표시
  • MySQL 8.0.2 부터 JSON 컬럼 값 부분적 업데이트 지원
  • JSON 유틸리티 함수 JSON_STORAGE_SIZE(), JSON_STORAGE_FREE() 추가
  • MySQL 8.0.2 부터 XPath 표현식에서 $[1 ~ 5]와 같은 범위에 대한 지원
  • RFC 7396을 준수하기 위한 JSON 병합 함수 JSON_MERGE_PATCH() 추가
  • RFC 7159 및 대부분의 JavaScript 파서와 일치하는 중복 키의 "마지막 중복 키 우선" 정규화 구현
  • MySQL 8.0.4 부터 JSON 데이터를 받아 지정된 컬럼이 있는 관계형 테이블로 반환하는 하는 함수 JSON_TABLE() 추가

📌 Data type suppor

  • 데이터 유형의 기본값으로 표현식 사용을 지원

📌 Optimizer

  • Invisible 인덱스 지원
  • Descending(DESC) 인덱스 지원
  • 컬럼 값이 아닌 표현식 값을 인덱싱하는 기능 인덱스 키 부분의 생성 지원
  • MySQL 8.0.14 부터 상수 리터럴 표현식에서 발생하는 사소한 WHERE 조건은 최적화 중이 아니라 준비 중에 제거
  • MySQL 8.0.16 부터 최적화 시간에 상수 폴딩을 사용하여 실행 시간에 각 행에 대해 수행하지 않고 컬럼 유형과 관련하여 범위를 벗어 났거나 범위 경계에 있는 컬럼과 상수 값 간의 비교를 처리 가능
  • MySQL 8.0.17 부터 불완전한 SQL 술어를 (값이 컬럼 이름 또는 상수 표현식이고 비교 연산자가 사용되지 않는 WHERE 값 형식의 술어) 내부적으로 WHERE 값 <> 0으로 재작성
  • MySQL 8.0.17 부터 NOT IN (서브 쿼리) 또는 NOT EXISTS (서브 쿼리)가 있는 WHERE 조건이 내부적으로 안티 조인으로 변환
  • MySQL 8.0.21 부터 단일 테이블 UPDATE 또는 DELETE 문은 많은 경우에 세미 조인 변환 또는 서브 쿼리 구체화
  • MySQL 8.0.23 부터 해시 조인에 사용되는 해시 테이블을 다시 구현하여 해시 조인 성능 개선

📌 Common table expressions

  • 재귀적 및 비 재귀적 공통 테이블 표현식을 지원

📌 Window functions

  • 쿼리의 각 행에 대해 해당 행과 관련된 행을 사용하여 계산을 수행하는 Window 함수를 지원

📌 Lateral derived tables

  • 파생 테이블 앞에 LATERAL 키워드가 추가되어 동일한 FROM 절에서 이전 테이블의 열을 참조 (종속)하도록 지정 가능

📌 Aliases in single-table DELETE statements

  • MySQL 8.0.16 부터 단일 테이블 DELETE 구문은 테이블 별칭 사용 지원

📌 Regular expression support

  • 정규식 지원은 ICU(International Components for Unicode)를 사용하여 재 구현

📌 Internal temporary tables

  • TempTable 스토리지 엔진은 메모리 내부 임시 테이블의 기본 엔진으로 MEMORY 스토리지 엔진을 대체

📌 Logging

  • MySQL 구성 요소 아키텍처를 사용하도록 오류 로깅 재 작성

📌 Backup lock

  • 새로운 유형의 백업 잠금은 온라인 백업 중에 DML을 허용하는 동시에 일관되지 않은 스냅 샷을 생성 할 수 있는 작업을 방지

📌 Replication

  • 압축 바이너리 형식을 사용하여 JSON 문서에 대한 부분 업데이트의 바이너리 로깅을 지원하여 전체 JSON 문서 로깅을 통해 로그 공간을 절약

📌 Connection management

  • 관리 연결을 위한 TCP/IP 포트를 구성 가능

📌 Configuration

  • MySQL 전체에서 허용되는 호스트 이름의 최대 길이가 이전 제한인 60 자에서 증가한 255 ASCII 문자로 증가

📌 Plugin

  • 플러그인 작성을 C or C++에서 C++로 변경
  • InnoDB memcached plugin

📌 C API

  • MySQL 서버와의 비 차단 통신을 위한 비동기 기능을 지원

📌 Additional target types for casts

  • MySQL 8.0.17 부터 CAST()CONVERT() 함수는 DOUBLE, FLOATREAL 유형으로의 변환 지원

📌 JSON schema validation

  • MySQL 8.0.17 부터 JSON 문서를 다시 JSON 스키마로 검증하기 위해 두 개의 함수 JSON_SCHEMA_VALID()JSON_SCHEMA_VALIDATION_REPORT() 추가

📌 Multi-valued indexes

  • MySQL 8.0.17 부터 InnoDB는 값 배열을 저장하고 단일 데이터 레코드에 대해 여러 인덱스 레코드를 가질 수 있는 JSON 컬럼에 정의된 보조 인덱스인 다중 값 인덱스 생성을 지원

📌 Hintable time_zone

  • MySQL 8.0.17 부터 time_zone 세션 변수는 SET_VAR을 사용하여 힌트 사용 가능

📌 Redo Log Archiving

  • MySQL 8.0.17 부터 InnoDB는 리두 로그 보관을 지원

📌 The Clone Plugin

  • MySQL 8.0.17 부터 InnoDB 데이터를 로컬로 또는 원격 MySQL 서버 인스턴스에서 복제 할 수 있는 복제 플러그인을 제공

📌 Hash Join Optimization

  • MySQL 8.0.18 부터 조인의 각 테이블 쌍에 적어도 하나의 동등 조인 조건이 포함되고 조인 조건에 인덱스가 적용되지 않을 때마다 해시 조인이 사용

📌 EXPLAIN ANALYZE Statement

  • MySQL 8.0.18 부터 EXPLAIN ANALYZE는 쿼리 처리에 사용되는 각 반복자에 대해 TREE 형식의 SELECT 문 실행에 대한 확장 정보를 제공하고 예상 비용을 쿼리의 실제 비용과 비교 가능

📌 Query cast injection

  • MySQL 8.0.18 부터 인수의 데이터 유형과 예상 데이터 유형이 일치하지 않는 표현식 및 조건 내의 쿼리 항목 트리에 캐스트 작업을 삽입

📌 Time zone support for TIMESTAMP and DATETIME

  • MySQL 8.0.19 부터 날짜 / 시간 (TIMESTAMP 및 DATETIME) 값이 삽입된 시간대 오프셋 허용

📌 Precise information for JSON schema CHECK constraint failures

  • MySQL 8.0.19 부터 JSON_SCHEMA_VALID()를 사용하여 CHECK 제약 조건을 지정할 때 제약 조건의 실패 이유에 대한 정확한 정보 제공

📌 Row and column aliases with ON DUPLICATE KEY UPDATE

  • MySQL 8.0.19 부터 별칭을 사용하여 삽입 할 행과 선택적으로 해당 컬럼 참조 가능

📌 SQL standard explicit table clause and table value constructor

  • SQL 표준에 따라 테이블 값 생성자와 명시적 테이블 절을 추가

📌 Optimizer hints for FORCE INDEX, IGNORE INDEX

  • 인덱스 수준 최적화 힌트 추가

📌 JSON_VALUE() function

  • MySQL 8.0.21 부터 JSON 컬럼의 인덱싱을 단순화하기 위한 새로운 함수 JSON_VALUE() 추가

📌 User comments and user attributes

  • MySQL 8.0.21 부터 사용자 계정을 생성하거나 업데이트 할 때 사용자 코멘트와 사용자 속성을 설정하는 기능 추가

📌 New optimizer_switch flags

  • MySQL 8.0.21 부터 optimizer_switch 시스템 변수에 대한 prefer_ordering_indexsubquery_to_derived 두 개의 새로운 플래그 추가

📌 XML enhancements

  • MySQL 8.0.21 부터 LOAD XML 구문은 가져올 XML의 CDATA 섹션을 지원

📌 Casting to the YEAR type now supported

  • MySQL 8.0.22 부터 YEAR로 캐스팅 가능

📌 Retrieval of TIMESTAMP values as UTC

  • MySQL 8.0.22 부터 CAST (value AT TIME ZONE specifier AS DATETIME)을 사용하여 검색시 시스템 시간대의 TIMESTAMP 컬럼 값을 UTC DATETIME으로 변환 가능

📌 Dump file output synchronization

  • MySQL 8.0.22 부터 SELECT INTO DUMPFILESELECT INTO OUTFILE 구문으로 파일에 쓸 때 주기적인 동기화 지원

📌 Single preparation of statements

  • MySQL 8.0.22 부터 prepared statement는 실행될 때마다 한 번이 아닌 한 번만 준비

📌 RIGHT JOIN as LEFT JOIN handling

  • MySQL 8.0.22 부터 RIGHT JOIN의 모든 인스턴스를 내부적으로 LEFT JOIN으로 처리하여 구문 분석시 완전한 변환이 수행되지 않은 여러 특수한 경우를 제거

📌 Derived condition pushdown optimization

  • MySQL 8.0.22 부터 구체화된 파생 테이블이 있는 쿼리에 대해 파생 조건 푸시 다운 추가

📌 Non-locking reads on MySQL grant tables

  • MySQL 8.0.22 부터 grant 테이블에 대한 동시 DML 및 DDL 작업을 허용하기 위해 이전에 grant 테이블에서 행 잠금을 획득 한 읽기 작업이 비 잠금 읽기로 실행

🔨 MySQL 8.0에서 더 이상 사용되지 않는 기능

https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html#mysql-nutshell-deprecations

📌 Character set

  • utf8mb3

📌 Authentication plugin

  • sha256_password

📌 validate_password

  • validate_password (컴포넌트로 변경)

📌 Clause

  • ALTER TABLESPACE, DROP TABLESPACE 구문의 Engine
  • CREATE TEMPORARY TABLE 구문의 TABLESPACE = innodb_file_per_table, TABLESPACE = innodb_temporary

📌 SQL mode

  • PAD_CHAR_TO_FULL_LENGTH

📌 AUTO_INCREMENT

  • FLOAT 및 DOUBLE 유형의 컬럼에 대한 지원

📌 UNSIGNED attribute

  • FLOAT, DOUBLE 및 DECIMAL 유형의 컬럼에 대한 지원

📌 Nonstandard MySQL extension

  • FLOAT(M,D), DOUBLE(M,D) 구문
  • BINARY 속성
  • &&, ||, ! 연산자

📌 ZEROFILL attribute

  • 숫자 데이터 유형에 대한 지원

📌 Function

  • JSON_MERGE(), FOUND_ROWS()
  • JSON_TABLE()ON ERROR 순서

📌 Statement

  • SELECT 구문의 INTO 절 위치
  • UNION 구문의 INTO 절 위치
  • INSERT ... ON DUPLICATE KEY UPDATE

📌 Command

  • FLUSH HOSTS

📌 Client

  • mysql_upgrade

📌 Server Option

  • --no-dd-upgrade

📌 Client Option

  • --compress

📌 Replication Option

  • --master-info-file

📌 File

  • mysql_upgrade_info

📌 System variable

  • relay_log_info_file, max_length_for_sort_data, temptable_use_mmap

📌 Environment variable

  • MYSQL_PWD

📌 Column index prefixes

  • partitioning key

🔨 MySQL 8.0에서 제거 된 기능

https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html#mysql-nutshell-removals

📌 System variable

  • innodb_locks_unsafe_for_binlog, information_schema_stats, log_builtin_as_identified_by_password, old_passwords, ignore_db_dirs, tx_isolation, tx_read_only, sync_frm, secure_auth, multi_range_count, log_warnings, metadata_locks_cache_size, metadata_locks_hash_instances, date_format, datetime_format, time_format, max_tmp_tables, have_crypt, ignore_builtin_innodb

📌 Status variable

  • Com_alter_db_upgrade

📌 User variables

  • SET 이외의 명령문에 대한 지원

📌 Code

  • 오래된 InnoDB 시스템 테이블 관련
  • Error 관련

📌 Account management

  • GRANT 명령어로 사용자 생성, 수정

📌 Function

  • PASSWORD()
  • JSON_APPEND()

📌 Query cache

📌 DDL log

📌 SQL mode

  • DB2, MAXDB, MSSQL, MYSQL323, MYSQL40, ORACLE, POSTGRESQL, NO_FIELD_OPTIONS, NO_KEY_OPTIONS, NO_TABLE_OPTIONS

📌 Clause

  • GROUP BY 절에 대한 ASC, DESC 규정자
  • ALTER DATABASE 구문에 대한 UPGRADE DATA DIRECTORY NAME

📌 EXPLAIN

  • EXTENDED, PARTITIONS

📌 Encryption

  • ENCODE(), DECODE(), ENCRYPT(), DES_ENCRYPT(), DES_DECRYPT()

📌 Spatial function namespace

  • MBR names: Contains(), Disjoint(), Equals(), Intersects(), Overlaps(), Within()
  • ST_ names: Area(), AsBinary(), AsText(), AsWKB(), AsWKT(), Buffer(), Centroid(), ConvexHull(), Crosses(), Dimension(), Distance(), EndPoint(), Envelope(), ExteriorRing(), GeomCollFromText(), GeomCollFromWKB(), GeomFromText(), GeomFromWKB(), GeometryCollectionFromText(), GeometryCollectionFromWKB(), GeometryFromText(), GeometryFromWKB(), GeometryN(), GeometryType(), InteriorRingN(), IsClosed(), IsEmpty(), IsSimple(), LineFromText(), LineFromWKB(), LineStringFromText(), LineStringFromWKB(), MLineFromText(), MLineFromWKB(), MPointFromText(), MPointFromWKB(), MPolyFromText(), MPolyFromWKB(), MultiLineStringFromText(), MultiLineStringFromWKB(), MultiPointFromText(), MultiPointFromWKB(), MultiPolygonFromText(), MultiPolygonFromWKB(), NumGeometries(), NumInteriorRings(), NumPoints(), PointFromText(), PointFromWKB(), PointN(), PolyFromText(), PolyFromWKB(), PolygonFromText(), PolygonFromWKB(), SRID(), StartPoint(), Touches(), X(), Y()
  • GLength()

📌 Geometry arguments

📌 Parser

  • \N (=! NULL)

📌 Syntax

  • PROCEDURE ANALYSE()

📌 Client

  • -ssl, --ssl-verify-server-cert

📌 Utility

  • mysqlcheck : --fix-db-names, --fix-table-names
  • mysql_install_db
  • mysql_plugin
  • resolveip
  • resolve_stack_dump

📌 Server option

  • --temp-pool

📌 Option

  • --ndb perror
  • DISABLE_SHARED Cmake

📌 Partitioning

  • generic partitioning handler

📌 INFORMATION_SCHEMA Tables

  • GLOBAL_VARIABLES, SESSION_VARIABLES, GLOBAL_STATUS, SESSION_STATUS
  • INNODB_LOCKS, INNODB_LOCK_WAITS

📌 Performance Schema Tables

  • setup_timers

📌 Library

  • libmysqld

📌 InnoDB

  • 암축 된 임시 테이블 지원
  • .isl(InnoDB Symbolic Link) 파일
  • innodb_file_format, innodb_file_format_check, innodb_file_format_max innodb_large_prefix, innodb_support_xa, innodb_undo_logs, Innodb_available_undo_logs, innodb_undo_tablespaces, internal_tmp_disk_storage_engine
  • 공유 InnoDB 테이블스페이스에 테이블 파티션 배치 지원

📌 DTrace

📌 Statement

  • ALTER TABLE ... UPGRADE PARTITIONING
profile
오픈소스 DB엔지니어

0개의 댓글