>  기사  >  데이터 베이스  >  MySQL 쿼리를 시간별로 최적화하는 방법

MySQL 쿼리를 시간별로 최적화하는 방법

coldplay.xixi
coldplay.xixi원래의
2020-12-15 14:07:566401검색

시간별 MySQL 쿼리 최적화 방법: 1. [register_time] 필드는 날짜/시간 유형이므로 일치하기 전에 모든 행을 쿼리해야 합니다. 2. [register_time] 필드를 사용할 수 있습니다. 인덱스를 생성하면 쿼리가 매우 빠릅니다.

MySQL 쿼리를 시간별로 최적화하는 방법

이 튜토리얼의 운영 환경: windows7 시스템, mysql 버전 8.0.22, thinkpad t480 컴퓨터.

추가 관련 무료 학습 권장 사항: mysql 튜토리얼(동영상)

시간별 Mysql 쿼리 최적화 방법:

예를 들어 어제 새로 등록된 사용자를 쿼리하려면 다음 두 가지 방법으로 작성해야 합니다.

EXPLAIN
select * from chess_user u where DATE_FORMAT(u.register_time,'%Y-%m-%d')='2018-01-25';
EXPLAIN
select * from chess_user u where u.register_time BETWEEN '2018-01-25 00:00:00' and '2018-01-25 23:59:59';

register_time字段是datetime类型,转换为日期再匹配,需要查询出所有行进行过滤。而第二种写法,可以利用在register_timeCreate 필드 인덱스에서 쿼리가 매우 빠릅니다!

날짜 변환 기능 첨부

DECLARE yt varchar(10); #昨天
DECLARE yt_bt varchar(19); #昨天开始时间
DECLARE yt_et varchar(19); #昨天结束时间
#设置变量  
SET yt=DATE_FORMAT(DATE_ADD(now(),INTERVAL -1 day),'%Y-%m-%d');
SET yt_bt=DATE_FORMAT(DATE_ADD(now(),INTERVAL -1 day),'%Y-%m-%d 00:00:00');
SET yt_et=DATE_FORMAT(DATE_ADD(now(),INTERVAL -1 day),'%Y-%m-%d 23:59:59');

관련 무료 추천: 프로그래밍 영상 강좌

위 내용은 MySQL 쿼리를 시간별로 최적화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.