하루에 0.01%라도 성장하자
반응형

Develop/Database 3

SQL - 여러개의 로우 중 랜덤하게 로우를 가져오는 방법

최근에 본의아니게 SQL을 가지고 열심히 씨름중인데.. 이번에 랜덤하게 row를 가져와서 사용할 일이 생겼다.. 5만개 조금 넘어가는 row 였는데, 다른 블로그에서 가이드 준 대로 진행하보니 뭔가 문제가 있어 보였다. SELECT * FROM TEST ORDER BY RAND() LIMIT 10 먼저 TEST 라는 테이블에서 랜덤한 로우를 10개 가져오는 것인데, 위 쿼리로 하게되면 엄청나게 시간이 오래 걸린다.. 물론 위에는 내가 TEST로 썼지만, 실제 업무용 테이블은 텍스트가 많아서 그런지 더 그랬고.. 실제로 15초 이상이 걸렸다. 해당 문제는 단순하게 * 이 아니라 특정 컬럼을 하나 지정하면 바로 수정되긴 하더라.. 아마 텍스트가 엄청 나게 많았던 컬럼 때문에 그런거 같은 느낌.. SELECT..

Develop/Database 2022.01.12

mysql ) Can't connect to local MySQL server through socket '/tmp/mysql.sock'

데이터베이스를 설치하면 간헐적으로 아래와 같은 오류를 출력하여 접속을 못하는 상황이 발생한다. 위 에러를 발생하면서 데이터베이스 접속이 정상적으로 진행되지 않는다. 이 에러는 mysql.sock 파일이 없거나 정확하지 않아서 발생하는 에러다. 해결방법은 아래와 같다. /usr/local/mysql/bin/mysql -u root -p -S /var/lib/mysql/mysql.sock 인터넷을 찾아보니 생각보다 자주 발생하는 오류라고 한다. 참고사이트 : http://faq.hostway.co.kr/Linux_DB/8085

Develop/Database 2019.05.24

데이터베이스 원격접속 허용

서버에 데이터베이스를 설치한 후 원격 접속을 허용해 주어야 HeidiSQL이나 다른 DB관리 툴을 이용해 원격으로 접속하여 데이터베이스를 제어할 수 있다. 데이터 베이스를 설치하면 아래 명령어로 접근한다 // 계정 로그인 mysql -u root -p mysql, maria 에는 접속을 관리하는 테이블이 두개가 있다 테이블명 개념 user DB를 사용하는 사용자 관리 테이블 host DB에 접속하는 외부 시스템 권한 정보 관리 테이블 사용자가 원격으로 데이터베이스를 접속하려고 할 때, user테이블 외에 접속하는 시스템의 host 정보도 비교하기 때문에 접속이 차단된다. 따라서 원격접속을 허용하려면 아래와같은 명령어를 입력해야 한다. // 모든 아이피 허가 grant all privileges on *...

Develop/Database 2019.05.24
반응형