학생이 MySQL 데이터베이스에서 가지고있는 모든 강좌를 가져 오려고합니다. 이 스 니펫은 1 코스 만 가져 오지만 총 6 개가 있습니다 (그리고 나서 15 초 걸립니다). option
태그의 selected
속성을 사용하여 이미 설정된 코스를 표시하려고합니다. 나는 이것이 쿼리가 오랫동안 실행되도록하는 원인이라고 생각한다.
내 데이터베이스 디자인에 문제가 있습니까? 쿼리를 어떻게 개선합니까?쿼리를 실행하는 데 너무 많은 시간이 걸립니다.
이것은 데이터베이스의 구조입니다. 나는 중간 테이블을 생성 user_courses :
사용자 :
USER_ID
users_courses :
USER_ID
course_id_1
course_id_2
course_id_3
course_id_4
course_id_5 01 23, course_id_6
course_id_7
과정 :
제프
CREATE INDEX _index_course ON courses(course_id);
CREATE INDEX _index_user_course ON users_courses(course_id_1);
색인이 무엇입니까? –
이 스 니펫에는 아무 것도 없습니다. –
프로파일 링을 몇 번하면 연결에 얼마나 많은 시간이 걸리는지 알 수 있습니다. – pomaxa