MariaDd 빠른 팁 #10 - 테이블 정의 선택
MariaDB 팁과 요령
이것은 제가 1년 동안 축적한 일련의 빠른 팁과 요령 중 일부이며 다른 사람들에게 유용할 수 있다고 생각합니다.
비슷한 짧은 팁과 요령이 있으면 의견을 남겨주세요.
테이블 정의 선택
전체 데이터베이스 또는 일부 프로그래머가 몇 년 전에 만든 몇 개의 테이블을 문서화하는 작업을 해본 적이 있습니까? 저는 테이블의 스키마를 직접 선택하는 쿼리가 시간을 크게 절약해 준다는 것을 곧 알게 되었습니다.
또는 프로덕션 데이터베이스에 대한 액세스 권한이 없지만 경험한 버그나 성능 문제는 누락된 인덱스 또는 잘못된 열 정의를 나타내므로 IT 운영 부서에 대한 정보를 가져오도록 요청을 보내야 합니다. 당신을 위해 데이터베이스의 테이블.
두 경우 모두 아래 쿼리가 매우 유용할 수 있습니다.
SET @DatabaseName := 'test_db';
SET @TableName := 'departments';
SELECT c.COLUMN_NAME, c.COLUMN_TYPE, c.IS_NULLABLE
FROM INFORMATION_SCHEMA.`COLUMNS` c
WHERE c.TABLE_SCHEMA = @DatabaseName
AND c.TABLE_NAME = @TableName;
SELECT s.TABLE_NAME,
s.INDEX_NAME,
group_concat(s.COLUMN_NAME ORDER BY s.SEQ_IN_INDEX ) AS index_columns,
s.INDEX_TYPE,
CASE s.NON_UNIQUE
WHEN 1 THEN 'Not Unique'
ELSE 'Unique'
END AS is_unique
FROM information_schema.STATISTICS s
WHERE s.INDEX_SCHEMA = @DatabaseName
AND s.TABLE_NAME = @TableName
GROUP BY s.TABLE_NAME,
s.INDEX_NAME,
s.INDEX_TYPE,
s.NON_UNIQUE
ORDER BY s.TABLE_NAME,
s.INDEX_NAME;
SELECT tc.CONSTRAINT_NAME, tc.CONSTRAINT_TYPE
FROM information_schema.TABLE_CONSTRAINTS tc
WHERE tc.CONSTRAINT_SCHEMA = @DatabaseName
AND tc.TABLE_NAME = @TableName;
Reference
이 문제에 관하여(MariaDd 빠른 팁 #10 - 테이블 정의 선택), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/coderallan/mariadd-quick-tip-10-select-table-definition-5451텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)