0
Mysql5.x를 사용하고 정수 필드가 fld_experience
인 사용자에 대해 db 테이블을 가지고 있습니다. 이름에서 알 수 있듯이 사용자의 경험이 있으며 전체 목록에서 사용자의 순위 (순위)를 얻으 려하므로 전체 테이블에 사용자의 순위를 표시 할 수 있습니다. 다른 사용자의 경험은 언제든지 변경 될 수 있으므로 계급을 필드로 저장할 수 없으며 요청시 계산해야합니다. 여기카운트 명령이있는 select 문을 빠르게하는 방법
나는 그것을 어떻게 할 수있는, 사용자
SELECT COUNT(fld_experience) + 1
FROM tbl_users
WHERE fld_experience > (SELECT fld_experience
FROM tbl_users
WHERE fld_user_id = ?)
내가이 요청을 가속화 할 순서를 SQL 문을 얻을 수 있습니까? 인덱싱 fld_experience
이 작동하는지 정말 궁금합니다.
왜 더 빠를까요? – hevi
WHERE 내 각 행보다 한 번만 실행됩니다. – StanislavL
색인 생성은 어떻습니까? fld_experience를 사용하면 색인 생성이 더 빠를 것이라고 생각하십니까? – hevi