분류 전체보기60 [Mysql] Error Code 1170: blob/text column used in key specification without a key length 인덱스 생성 시 다음과 같은 에러를 볼 수 있다. Error Code 1170: blob/text column used in key specification without a key length BLOB타입과 TEXT타입은 index를 생성하지 못함 -> BLOB, TEXT 타입이 아닌 컬럼으로 인덱스 생성해야함 2022. 2. 25. group by 성능 튜닝 group by절은 테이블 스캔 후 결과를 임시테이블에 넣어 집계를 하는 과정을 거침. 데이터의 양이 많아질 수록 속도가 느려짐. index 생성으로 임시테이블 생성없이 빠르게 데이터를 가져올 수 있음 select seq ,yyyymm ,max(score) from tb_test_score group by seq,yyyymm; -> group by 컬럼 순서와 인덱스 컬럼 순서가 동일해야함 -> max, min 함수에 쓰이는 컬럼도 인덱스에 들어가야 함 처음엔 위와 같은 쿼리의 실행속도가 느릴 때 인덱스 ix_test_score(seq, yyyymm) 생성 했을 때 오히려 속도가 느려졌다. 인덱스를 ix_test_score(seq, yyyymm, score)로 max함수에 쓰이는 컬럼까지 포함하여 재생성.. 2022. 2. 20. [PostgreSQL] foreign table 성능 postgresql Foreign table에는 index 생성 불가 ERROR: cannot create index on foreign table "tablename" -> 데이터량이 많을수록 속도는 느려짐 이 때 참고할 수 있는 페이지 ->https://www.enterprisedb.com/blog/how-plan-queries-involving-foreign-postgresql-tables How to Plan Queries Involving Foreign PostgreSQL Tables Cost based optimization www.enterprisedb.com https://dba.stackexchange.com/questions/194507/how-do-i-set-the-option-use.. 2022. 1. 15. [PostgreSQL] Sequence 권한 1. Sequence 생성 SQL> CREATE SEQUENCE 시퀀스명 START WITH 1 INCREMENT BY 1; 2. Sequence 조회 SQL> SELECT * FROM PG_CATALOG.PG_SEQUENCES; 3. Sequence 값 조회, 권한 부여 SQL> SELECT CURRVAL('시퀀스명'); SQL Error [55000]: ERROR: currval of sequence "sequence_name" is not yet defined in this session 해결 : currval은 현재 세션에서 nextval로 얻은 가장 최근 값을 반환하므로 nextval이 호출되지 않았다면 오류가 발생됨. nextval('시퀀스명'); 실행 후에 currval('시퀀스명') 을 호.. 2021. 11. 17. [Mysql] Metadata Locking Metadata Locking이란? 사용중인 오브젝트의 변경(DDL)을 방지해주는 기술로, 유효한 트랜잭션에서 사용중인 오브젝트를 변경할 수 없도록 하는 것을 말함 MariaDB에서는 사용중인 오브젝트 접근과 데이터 일관성 유지를 위해 Metadata Locking을 사용 이때, 오브젝트는 Table, procedure, function, trigger, event 등 autocommit이 "OFF"일 때 무슨 쿼리가 실행되든(SELECT포함) 트랜잭션이 시작되고, 해당 쓰레드에서 COMMIT이나 ROLLBACK 등으로 트랜잭션을 종료하기 전에는 해당 트랜잭션은 유효한 상태로 남아 있음 즉, autocommit이 "OFF"일 때는 SELECT만 해도 사용된 모든 오브젝트에 Metadata Lock이 설정.. 2021. 11. 4. [PostgreSQL] psql 옵션 C:\>psql -? psql은 PostgreSQL 대화식 터미널입니다. 사용법: psql [OPTION]... [DBNAME [USERNAME]] 일반 옵션: -c, --command=COMMAND 하나의 명령(SQL 또는 내부 명령)만 실행하고 끝냄 -d, --dbname=DBNAME 연결할 데이터베이스 이름(기본 값: "devkuma") -f, --file=FILENAME 파일 안에 지정한 명령을 실행하고 끝냄 -l, --list 사용 가능한 데이터베이스 목록을 표시하고 끝냄 -v, --set=, --variable=NAME=VALUE psql 변수 NAME을 VALUE로 설정 (예, -v ON_ERROR_STOP=1) -V, --version 버전 정보를 보여주고 마침 -X, --no-psqlrc.. 2021. 11. 2. 이전 1 2 3 4 5 6 ··· 10 다음 반응형