SQL
1. [필수] count(*) 대신 count(열 이름) 또는 count(상수)를 사용하지 마십시오. count(*)는 SQL 92에 정의된 행 계산을 위한 표준 구문입니다. NULL과 관련이 있으며 NULL이 아닌 것은 관련이 없습니다.
설명: count(*)는 NULL 값이 있는 행을 계산하지만 count(열 이름)은 이 열에서 NULL 값이 있는 행을 계산하지 않습니다.
col 1, col 2 )는 열 중 하나가 모두 NULL이면 다른 열의 값이 다르더라도 0을 반환합니다.
NULL입니다. 따라서 sum()을 사용하세요. 항상 NPE 문제에 주의하세요.
긍정적인 예: 다음 방법을 사용하여 합계의 NPE 문제를 피할 수 있습니다: SELECT IF(ISNULL(SUM(g)) ,0, SUM(g))FROM table;
설명:
1) NULL<>NULL의 반환 결과는 false가 아닌 NULL입니다. 2) NULL=NULL의 반환 결과는 true가 아닌 NULL입니다. 3) NULL<>1의 반환 결과는 true가 아닌 NULL입니다. 5. [필수] 코드에 페이징 쿼리 로직을 작성할 때 count가 0인 경우 후속 페이징 문 실행을 피하기 위해 직접 반환해야 합니다.설명: (개념 설명) 학생 테이블의 Student_id가 기본 키이고, grades 테이블의 Student_id가 외래 키입니다. 학생 테이블의 학생_ID를 업데이트하고 동시에 성적 테이블의 학생_ID 업데이트를 트리거하는 경우 계단식 업데이트입니다. 외래 키 및 계단식 업데이트는 단일 시스템의 낮은 동시성에는 적합하며 분산 및 동시성 클러스터에는 적합하지 않습니다. 계단식 업데이트는 데이터베이스 업데이트 폭풍의 위험이 있으며 데이터베이스 삽입 속도에 영향을 미칩니다.
7. [필수] 저장 프로시저는 디버그 및 확장이 어렵고 이식성이 없습니다.
9. 피할 수 없다면 작동을 피하세요. in 뒤에 있는 수집 요소 수를 신중하게 평가하고 1000 이내로 제어해야 합니다.
10. [참고] 세계화가 필요한 경우 모든 문자 저장 및 표현은 utf -8로 인코딩되며 문자 계산 방법은 참고: 지침: 길이 선택("쉬운 작업" ) ; 반환값은 12 SELECT CHARACTER _ LENGTH("Easy Work"); 반환값은 4 이모티콘을 사용하려면 utfmb 4를 저장용으로 사용하세요. utf-8과의 차이점에 주의하세요. 부호화. 11. [참고] TRUNCATE TABLE은 DELETE보다 빠르며 시스템 및 트랜잭션 로그 리소스를 덜 사용합니다. 그러나 TRUNCATE는 트랜잭션이 없으며 트리거를 트리거하지 않으므로 사고가 발생할 수 있으므로 권장하지 않습니다. 이 명령문에 사용됩니다. 참고: TRUNCATE TABLE은 기능적으로 WHERE 절이 없는 DELETE 문과 동일합니다.