운영 서버에서 DB index 적용 작업 진행
- 01~07 작업 문서를 운영 측정값 기준으로 정리 (문서의 DB 비밀번호 삭제) - app_highest_record 중복 8,795행 점수 기준 정리, 인덱스 5개 + UNIQUE 키 2개 추가 - 02·04 공통 측정 스크립트와 측정 결과, comparison.txt 추가 - 서버 처리 시간 18~292배 단축, 결과 행 수 동일 - 운영 데이터 백업과 권한(비밀번호 해시) 파일은 커밋에서 제외 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
SELECT SQL_NO_CACHE PlayerID, BestRecord, RecordDateTime
|
||||
FROM best_record
|
||||
WHERE MaestroID = @maestro AND AppID = @app
|
||||
AND DATE(RecordDateTime) = @day
|
||||
AND HOUR(RecordDateTime) = @hour
|
||||
ORDER BY RecordDateTime, PlayerID;
|
||||
@@ -0,0 +1,6 @@
|
||||
SELECT SQL_NO_CACHE PlayerID, BestRecord, RecordDateTime
|
||||
FROM best_record
|
||||
WHERE MaestroID = @maestro AND AppID = @app
|
||||
AND RecordDateTime >= CAST(@day AS DATETIME) + INTERVAL @hour HOUR
|
||||
AND RecordDateTime < CAST(@day AS DATETIME) + INTERVAL (@hour + 1) HOUR
|
||||
ORDER BY RecordDateTime, PlayerID;
|
||||
@@ -0,0 +1,8 @@
|
||||
SELECT SQL_NO_CACHE PlayerID, MAX(BestRecord) AS HighScore
|
||||
FROM best_record
|
||||
WHERE MaestroID = @maestro AND AppID = @app
|
||||
AND YEAR(RecordDateTime) = YEAR(@day)
|
||||
AND MONTH(RecordDateTime) = MONTH(@day)
|
||||
AND DAYOFMONTH(RecordDateTime) = DAYOFMONTH(@day)
|
||||
GROUP BY PlayerID
|
||||
ORDER BY HighScore DESC, PlayerID;
|
||||
@@ -0,0 +1,7 @@
|
||||
SELECT SQL_NO_CACHE PlayerID, MAX(BestRecord) AS HighScore
|
||||
FROM best_record
|
||||
WHERE MaestroID = @maestro AND AppID = @app
|
||||
AND RecordDateTime >= CAST(@day AS DATETIME)
|
||||
AND RecordDateTime < CAST(@day AS DATETIME) + INTERVAL 1 DAY
|
||||
GROUP BY PlayerID
|
||||
ORDER BY HighScore DESC, PlayerID;
|
||||
@@ -0,0 +1,7 @@
|
||||
SELECT SQL_NO_CACHE PlayerID, MAX(BestRecord) AS HighScore
|
||||
FROM best_record
|
||||
WHERE MaestroID = @maestro AND AppID = @app
|
||||
AND YEAR(RecordDateTime) = YEAR(@day)
|
||||
AND MONTH(RecordDateTime) = MONTH(@day)
|
||||
GROUP BY PlayerID
|
||||
ORDER BY HighScore DESC, PlayerID;
|
||||
@@ -0,0 +1,7 @@
|
||||
SELECT SQL_NO_CACHE PlayerID, MAX(BestRecord) AS HighScore
|
||||
FROM best_record
|
||||
WHERE MaestroID = @maestro AND AppID = @app
|
||||
AND RecordDateTime >= CAST(DATE_FORMAT(@day, '%Y-%m-01') AS DATETIME)
|
||||
AND RecordDateTime < CAST(DATE_FORMAT(@day, '%Y-%m-01') AS DATETIME) + INTERVAL 1 MONTH
|
||||
GROUP BY PlayerID
|
||||
ORDER BY HighScore DESC, PlayerID;
|
||||
Reference in New Issue
Block a user