私のクエリは次のことを意味します:
- 正しい日付 "DAY-MONTH-YEAR" (02-Dec-1986) を持つ人々のみを計算するように、間違った日付の人々をフィルタリングします。
- 2 つのパラメーターの間で年齢を計算します。
このタイプのクエリで 1.029 SEC が正常なのか、それとも make が少し遅いという間違ったことをしているのかわからない。最適化できる何かを行った場合、誰かにアドバイスしてもらえますか?
現状では、クエリがかかり( 870,968 total, Query took 1.0297 sec)
、実際のクエリは
SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(STR_TO_DATE(m.m_dob, '%d-%b-%Y'))), '%Y')+0 AS age
FROM impressions AS i, mariners AS m
WHERE STR_TO_DATE(m.m_dob, '%d-%b-%Y') IS NOT NULL
AND m_dob != ''
AND DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(STR_TO_DATE(m.m_dob, '%d-%b-%Y'))), '%Y')+0 BETWEEN 13 AND 50
ORDER BY `age` DESC