ホームページ >データベース >mysql チュートリアル >mysqlクエリを時間ごとに最適化する方法

mysqlクエリを時間ごとに最適化する方法

coldplay.xixi
coldplay.xixiオリジナル
2020-12-15 14:07:566458ブラウズ

時間による Mysql クエリの最適化方法: 1. [register_time] フィールドは datetime 型です。日付に変換して照合する場合、フィルタリングのためにすべての行をクエリする必要があります。2. [register_time] フィールドを使用できます。 ] フィールドを使用してインデックスを作成すると、クエリは非常に高速になります。

mysqlクエリを時間ごとに最適化する方法

#このチュートリアルの動作環境: Windows 7 システム、mysql8.0.22 バージョン、thinkpad t480 コンピューター。

その他の関連する無料学習の推奨事項:

mysql チュートリアル (ビデオ)

Mysql クエリの時間別最適化方法:

たとえば昨日新しく登録されたユーザーをクエリするには、次の 2 つの方法があります:

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 型であり、日付に変換して照合する必要があります。すべての行フィルタリングのためにクエリを実行する必要があります。 2 番目の記述方法は、register_time フィールドにインデックスを作成するために使用でき、クエリは非常に高速です。

付属の日付変換関数

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。