이 쿼리를 어떻게 향상시킬 수 있습니까? 내 소셜 네트워크로 DB는 더 큰MySQL 데이터베이스가 커지면 어떤 옵션이 있습니까
이 쿼리 2.1231 초 걸렸다지고 여기 나에게 내 모든 옵션을 알려주세요
SELECT friend_friend.friendid, friend_reg_user.disp_name, friend_reg_user.pic_url, friend_reg_user.online
FROM friend_friend
INNER JOIN friend_reg_user ON friend_friend.friendid = friend_reg_user.auto_id
WHERE userid =1
AND friend_friend.status =1
ORDER BY autoid DESC
LIMIT 59535 , 15
#####################################################################################################################################
# id # select_type # table # type # possible_keys # key # key_len # ref # rows # Extra #
#####################################################################################################################################
# 1 # SIMPLE # friend_friend # ref # userid # userid # 5 # const # 59843 # Using where#
# 1 # SIMPLE # friend_reg_user # eq_ref # PRIMARY # PRIMARY # 4 # friend_friend.friendid # 1 # #
#####################################################################################################################################
이 테이블은 만 또는 200 만 개 행을 말할 때 내 옵션은 무엇입니까 큰? 이 테이블은 사용자가 누구인지를 결정하는 데 사용됩니다.
그래, 나는 그것이 될 수있는만큼 많이 최적화되었다고 생각했는데, 모든 올바른 색인과 물건들이 있지만 2 초 이상은 느리다. 이것은 아마 localhost에서 실행 되었기 때문에 느린 이유 일 수 있습니다. – JasonDavis
8 백만 레코드가 실제로 그렇게 많은 것은 아닙니다 ... 당신이 10 억에 도달하면 어떻게되는지보십시오. – MarkR
인덱스가 150 만 개 이상인 myisam 테이블을 사용하면 인덱스를 효율적으로 사용할 수있는 쿼리를 수행 할 때 quieries가 여전히 탁월합니다. – nos