본문 바로가기

개발/mysql7

SQLyog Index 인덱스 거는 방법 where 문에 들어가는 필드들을 이것 저것 넣어보며 추가전후로 select 테스트 하여 쿼리문 속도를 테스트 하며 index 필드를 최적화 해주면 된다. 자주 하다보면 어떤 필드를 어떻게 추가해야 속도가 나는지 알게 된다. 인덱스 대상을 잡을 때 중복이 많은 필드를 기준으로 하나의 필드를 단일로 잡거나, 검색 조건으로 중복이 많이 되는 필드를 우선으로 다중 선택하여 테스트 하는것이 조회 속도 향상에 유리하다. 2022. 5. 10.
mysql index란 무엇인가? DB속도 높이는 간단한 방법들 소개 index하면 한 단어만 기억하면 된다. 'Full Scan 방지' DB에 데이터가 많을 시 모든 데이터를 조회하게 되면 속도가 느린 현상이 발생할 수 있다. 이에 대한 해결책중 하나가 index 기능이다. 방법은 간단하다. where 문에 나오는 필드를 index 대상으로 선정하면 된다. 예를 들자면 아래와 같은 명령어에서 id를 index 대상으로 선정하면 된다. select * from member where id='' 필드 수가 많고 단일 인덱스를 거는 경우 => 중복 수가 많은 필드로 인덱스를 건다 (ex member_code) 다중 인덱스를 거는 경우 => 높은 중복 필드-> 중복 수치가 낮은 필드 순으로 중복양이 많은 필드들을 건다. 그 밖에 속도를 내기 위한 방법은 여러가지가 있겠으나 생각.. 2022. 5. 10.
시작일 종료일 기준 전 포함 후 체크하는 쿼리문 "select mo.* ,DATE_ADD(start_date,INTERVAL day DAY) as end_date, TO_DAYS(CURRENT_DATE)-TO_DAYS(start_date) AS start_diff_date,TO_DAYS(CURRENT_DATE)-TO_DAYS(DATE_ADD(start_date,INTERVAL day DAY)) AS end_diff_date, m.name as user_name from ".$this->table." mo left join member m on(mo.member_code=m.code) where 1".$add_where." order by mo.code desc"; foreach($data['list'] as $key => $val) { if($val[.. 2021. 8. 13.
mysql 여러 개의 행을 하나의열 하나의 필드로 여러 개의 행을 하나의열 하나의 필드로 치환 해야할 경우가 있다. GROUP_CONCAT 을 사용해주면 된다. 다음과 같이 사용한다. 1. SELECT GROUP_CONCAT( 필드명) FROM 테이블명 GROUP BY 그룹할 필드명; 2. SELECT GROUP_CONCAT( 필드명 SEPARATOR "구분자") FROM 테이블명 GROUP BY 그룹할 필드명; >example SELECT GROUP_CONCAT( abc SEPARATOR "|") FROM 테이블명 GROUP BY id; 2021. 8. 10.
mysql php start_date end_date beetween 사이 검색 구하기 if(!empty($reqData['start_date'])&&!empty($reqData['end_date'])){ $add_where .= " and date_format(ol.reg_date, '%Y-%m-%d') BETWEEN '".$reqData['start_date']."' AND '".$reqData['end_date']."'"; } 2021. 7. 26.
sqlyog 외래키 연결 2021. 6. 3.
mysql 위도 경도 가까운 거리 계산 쿼리문 쿼리문 예시 SELECT 컬럼들, (6371*acos(cos(radians(lat좌표값))*cos(radians(lat좌표값))*cos(radians(lng좌표값) -radians(lng좌표값))+sin(radians(lat좌표값))*sin(radians(lat좌표값)))) FROM 테이블 HAVING distance 2020. 12. 21.