Fork me on GitHub
  1. MySQL에서 FULL OUTER JOIN 하는 방법

    Published: Wed 29 November 2017
    Updated: Wed 29 November 2017
    By Yunseop Song

    In mysql.

    MySQL에서는 FULL OUTER JOIN을 지원하지 않는다. UNION으로 FULL OUTER JOIN을 흉내낼 수 있다.

    (SELECT ... FROM t1 LEFT JOIN t2 ON t1.name = t2.name)
    UNION
    (SELECT ... FROM t2 LEFT JOIN t1 ON t1.name = t2.name)
    
    read more

    There are comments.

  2. Subquery는 Join으로 바꿉시다!

    Published: Fri 24 November 2017
    Updated: Fri 24 November 2017
    By Yunseop Song

    In mysql.

    서브 쿼리를 사용해 필터링을 하는 경우가 있는데, 이는 성능저하를 야기한다. LEFT [OUTER] JOIN은 서브쿼리 보다 Optimizer가 더 최적화 하기 쉬워서 빠를 수 있다.

    Examples

    SELECT * FROM t1 WHERE id IN (SELECT id FROM t2);
    

    위 쿼리는 다음과 같이 바꿀 수 있다.

    SELECT DISTINCT t1.* FROM t1, t2 WHERE t1.id …
    read more

    There are comments.

  3. 실행 중인 쿼리 보기

    Published: Thu 16 November 2017
    Updated: Thu 23 November 2017
    By Yunseop Song

    In mysql.

    다음 명령어로 현재 실행중인 프로세스를 확인할 수 있다.

    mysql> SHOW PROCESSLIST;
    +------+------+-----------------+------+---------+------+-------+------------------+
    | Id   | User | Host            | db   | Command | Time | State | Info             |
    +------+------+-----------------+------+---------+------+-------+------------------+
    |   15 | root | localhost:50028 | udl  | Sleep   |  389 |       | NULL             |
    |   16 | root | localhost:50030 | udl  | Sleep   |  389 |       | NULL             |
    |   24 | root | localhost:50030 | udl  | Query   | 3123 | init  | UPDATE ..        |
    |  256 | udl  | localhost       | udl  | Sleep   | 3707 …
    read more

    There are comments.

  4. INSERT 시에 중복(Duplicate) 키 에러가 난다면...

    Published: Sat 21 October 2017
    Updated: Thu 23 November 2017
    By Yunseop Song

    In mysql.

    다음 쿼리를 실행했더니 에러가 난다.

    mysql> INSERT INTO `user`(`email`, `name`) VALUES('dbstjq91@gmail.com', '송윤섭');
    ERROR 1062 (23000): Duplicate entry 'dbstjq91@gmail.com' for key 'user_email_unique'
    

    이유는 user 테이블에 email 필드가 UNIQUE INDEX로 걸려있기 때문이다.

    이럴 때는 3가지 옵션이 있다.

    1. INSERT IGNORE

    mysql> INSERT IGNORE INTO `user …
    read more

    There are comments.

« Page 2 / 3 »

links

social